Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/dtkgui-5.2.2.4/examples/dnd-example/dnd-test-client.cpp Examining data/dtkgui-5.2.2.4/examples/dnd-example/dnd-test-server.cpp Examining data/dtkgui-5.2.2.4/examples/test-taskbar/main.cpp Examining data/dtkgui-5.2.2.4/examples/test-taskbar/testtaskbarwindow.cpp Examining data/dtkgui-5.2.2.4/examples/test-taskbar/testtaskbarwindow.h Examining data/dtkgui-5.2.2.4/src/dbus/arealist.h Examining data/dtkgui-5.2.2.4/src/dfiledrag.cpp Examining data/dtkgui-5.2.2.4/src/dfiledrag.h Examining data/dtkgui-5.2.2.4/src/dfiledragclient.cpp Examining data/dtkgui-5.2.2.4/src/dfiledragclient.h Examining data/dtkgui-5.2.2.4/src/dfiledragcommon.h Examining data/dtkgui-5.2.2.4/src/dfiledragserver.cpp Examining data/dtkgui-5.2.2.4/src/dfiledragserver.h Examining data/dtkgui-5.2.2.4/src/dforeignwindow.cpp Examining data/dtkgui-5.2.2.4/src/dforeignwindow.h Examining data/dtkgui-5.2.2.4/src/dguiapplicationhelper.cpp Examining data/dtkgui-5.2.2.4/src/dguiapplicationhelper.h Examining data/dtkgui-5.2.2.4/src/dnativesettings.cpp Examining data/dtkgui-5.2.2.4/src/dnativesettings.h Examining data/dtkgui-5.2.2.4/src/dpalette.cpp Examining data/dtkgui-5.2.2.4/src/dpalette.h Examining data/dtkgui-5.2.2.4/src/dplatformhandle.cpp Examining data/dtkgui-5.2.2.4/src/dplatformhandle.h Examining data/dtkgui-5.2.2.4/src/dplatformtheme.cpp Examining data/dtkgui-5.2.2.4/src/dplatformtheme.h Examining data/dtkgui-5.2.2.4/src/dregionmonitor.cpp Examining data/dtkgui-5.2.2.4/src/dregionmonitor.h Examining data/dtkgui-5.2.2.4/src/dsvgrenderer.cpp Examining data/dtkgui-5.2.2.4/src/dsvgrenderer.h Examining data/dtkgui-5.2.2.4/src/dtaskbarcontrol.cpp Examining data/dtkgui-5.2.2.4/src/dtaskbarcontrol.h Examining data/dtkgui-5.2.2.4/src/dthumbnailprovider.cpp Examining data/dtkgui-5.2.2.4/src/dthumbnailprovider.h Examining data/dtkgui-5.2.2.4/src/dtkgui_global.h Examining data/dtkgui-5.2.2.4/src/dwindowgroupleader.cpp Examining data/dtkgui-5.2.2.4/src/dwindowgroupleader.h Examining data/dtkgui-5.2.2.4/src/dwindowmanagerhelper.cpp Examining data/dtkgui-5.2.2.4/src/dwindowmanagerhelper.h Examining data/dtkgui-5.2.2.4/src/private/dfiledragcommon_p.h Examining data/dtkgui-5.2.2.4/src/private/dfiledragserver_p.h Examining data/dtkgui-5.2.2.4/src/private/dguiapplicationhelper_p.h Examining data/dtkgui-5.2.2.4/src/private/dnativesettings_p.h Examining data/dtkgui-5.2.2.4/src/private/dplatformtheme_p.h Examining data/dtkgui-5.2.2.4/src/private/dregionmonitor_p.h Examining data/dtkgui-5.2.2.4/src/private/dtaskbarcontrol_p.h Examining data/dtkgui-5.2.2.4/tools/deepin-gui-settings/main.cpp FINAL RESULTS: data/dtkgui-5.2.2.4/examples/test-taskbar/main.cpp:15:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). desktopFile.open(QIODevice::WriteOnly); data/dtkgui-5.2.2.4/src/dsvgrenderer.cpp:265:14: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (file.open(QIODevice::ReadOnly)) { data/dtkgui-5.2.2.4/src/dplatformtheme.cpp:91:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (is_parent_signal && p.read(q).isValid()) { data/dtkgui-5.2.2.4/src/dthumbnailprovider.cpp:297:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!reader.read(image.data())) ANALYSIS SUMMARY: Hits = 4 Lines analyzed = 8596 in approximately 1.72 seconds (5006 lines/second) Physical Source Lines of Code (SLOC) = 4956 Hits@level = [0] 0 [1] 2 [2] 2 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 4 [1+] 4 [2+] 2 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.807103 [1+] 0.807103 [2+] 0.403551 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.