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/libkscreen-5.19.5/backends/xcbwrapper.h Examining data/libkscreen-5.19.5/backends/utils.h Examining data/libkscreen-5.19.5/backends/utils.cpp Examining data/libkscreen-5.19.5/backends/qscreen/qscreenoutput.h Examining data/libkscreen-5.19.5/backends/qscreen/qscreenscreen.h Examining data/libkscreen-5.19.5/backends/qscreen/qscreenbackend.h Examining data/libkscreen-5.19.5/backends/qscreen/qscreenconfig.h Examining data/libkscreen-5.19.5/backends/qscreen/qscreenbackend.cpp Examining data/libkscreen-5.19.5/backends/qscreen/qscreenconfig.cpp Examining data/libkscreen-5.19.5/backends/qscreen/qscreenoutput.cpp Examining data/libkscreen-5.19.5/backends/qscreen/qscreenscreen.cpp Examining data/libkscreen-5.19.5/backends/xcbwrapper.cpp Examining data/libkscreen-5.19.5/backends/xcbeventlistener.h Examining data/libkscreen-5.19.5/backends/xcbeventlistener.cpp Examining data/libkscreen-5.19.5/backends/kwayland/waylandconfig.cpp Examining data/libkscreen-5.19.5/backends/kwayland/waylandscreen.h Examining data/libkscreen-5.19.5/backends/kwayland/waylandbackend.cpp Examining data/libkscreen-5.19.5/backends/kwayland/waylandbackend.h Examining data/libkscreen-5.19.5/backends/kwayland/waylandconfig.h Examining data/libkscreen-5.19.5/backends/kwayland/waylandoutput.cpp Examining data/libkscreen-5.19.5/backends/kwayland/waylandscreen.cpp Examining data/libkscreen-5.19.5/backends/kwayland/waylandoutput.h Examining data/libkscreen-5.19.5/backends/xrandr1.1/xrandr11.h Examining data/libkscreen-5.19.5/backends/xrandr1.1/xrandr11.cpp Examining data/libkscreen-5.19.5/backends/fake/fake.h Examining data/libkscreen-5.19.5/backends/fake/parser.h Examining data/libkscreen-5.19.5/backends/fake/fake.cpp Examining data/libkscreen-5.19.5/backends/fake/parser.cpp Examining data/libkscreen-5.19.5/backends/xrandr/xrandroutput.h Examining data/libkscreen-5.19.5/backends/xrandr/xrandrcrtc.cpp Examining data/libkscreen-5.19.5/backends/xrandr/xrandrconfig.cpp Examining data/libkscreen-5.19.5/backends/xrandr/xrandrscreen.h Examining data/libkscreen-5.19.5/backends/xrandr/xrandroutput.cpp Examining data/libkscreen-5.19.5/backends/xrandr/xrandrcrtc.h Examining data/libkscreen-5.19.5/backends/xrandr/xrandrmode.h Examining data/libkscreen-5.19.5/backends/xrandr/xrandr.h Examining data/libkscreen-5.19.5/backends/xrandr/xrandrconfig.h Examining data/libkscreen-5.19.5/backends/xrandr/xrandr.cpp Examining data/libkscreen-5.19.5/backends/xrandr/xrandrmode.cpp Examining data/libkscreen-5.19.5/backends/xrandr/xrandrscreen.cpp Examining data/libkscreen-5.19.5/autotests/testedid.cpp Examining data/libkscreen-5.19.5/autotests/testlog.cpp Examining data/libkscreen-5.19.5/autotests/testscreenconfig.cpp Examining data/libkscreen-5.19.5/autotests/testkwaylandbackend.cpp Examining data/libkscreen-5.19.5/autotests/testkwaylandconfig.cpp Examining data/libkscreen-5.19.5/autotests/testbackendloader.cpp Examining data/libkscreen-5.19.5/autotests/testkwaylanddpms.cpp Examining data/libkscreen-5.19.5/autotests/testinprocess.cpp Examining data/libkscreen-5.19.5/autotests/testmodelistchange.cpp Examining data/libkscreen-5.19.5/autotests/testxrandr.cpp Examining data/libkscreen-5.19.5/autotests/testqscreenbackend.cpp Examining data/libkscreen-5.19.5/autotests/testconfigmonitor.cpp Examining data/libkscreen-5.19.5/autotests/testconfigserializer.cpp Examining data/libkscreen-5.19.5/tests/testpnp.cpp Examining data/libkscreen-5.19.5/tests/testpnp.h Examining data/libkscreen-5.19.5/tests/testplugandplay.cpp Examining data/libkscreen-5.19.5/tests/kwayland/waylandtestserver.cpp Examining data/libkscreen-5.19.5/tests/kwayland/waylandtestserver.h Examining data/libkscreen-5.19.5/tests/kwayland/main.cpp Examining data/libkscreen-5.19.5/tests/kwayland/waylandconfigreader.cpp Examining data/libkscreen-5.19.5/tests/kwayland/waylandconfigreader.h Examining data/libkscreen-5.19.5/src/configserializer_p.h Examining data/libkscreen-5.19.5/src/backendmanager.cpp Examining data/libkscreen-5.19.5/src/configmonitor.h Examining data/libkscreen-5.19.5/src/configoperation.cpp Examining data/libkscreen-5.19.5/src/edid.cpp Examining data/libkscreen-5.19.5/src/configoperation_p.h Examining data/libkscreen-5.19.5/src/backendmanager_p.h Examining data/libkscreen-5.19.5/src/abstractbackend.cpp Examining data/libkscreen-5.19.5/src/setconfigoperation.h Examining data/libkscreen-5.19.5/src/getconfigoperation.h Examining data/libkscreen-5.19.5/src/configoperation.h Examining data/libkscreen-5.19.5/src/edid.h Examining data/libkscreen-5.19.5/src/abstractbackend.h Examining data/libkscreen-5.19.5/src/mode.cpp Examining data/libkscreen-5.19.5/src/configmonitor.cpp Examining data/libkscreen-5.19.5/src/backendlauncher/backendloader.h Examining data/libkscreen-5.19.5/src/backendlauncher/main.cpp Examining data/libkscreen-5.19.5/src/backendlauncher/backenddbuswrapper.h Examining data/libkscreen-5.19.5/src/backendlauncher/backendloader.cpp Examining data/libkscreen-5.19.5/src/backendlauncher/backenddbuswrapper.cpp Examining data/libkscreen-5.19.5/src/output.cpp Examining data/libkscreen-5.19.5/src/config.h Examining data/libkscreen-5.19.5/src/log.cpp Examining data/libkscreen-5.19.5/src/doctor/doctor.h Examining data/libkscreen-5.19.5/src/doctor/main.cpp Examining data/libkscreen-5.19.5/src/doctor/dpmsclient.cpp Examining data/libkscreen-5.19.5/src/doctor/dpmsclient.h Examining data/libkscreen-5.19.5/src/doctor/doctor.cpp Examining data/libkscreen-5.19.5/src/screen.h Examining data/libkscreen-5.19.5/src/screen.cpp Examining data/libkscreen-5.19.5/src/output.h Examining data/libkscreen-5.19.5/src/log.h Examining data/libkscreen-5.19.5/src/setconfigoperation.cpp Examining data/libkscreen-5.19.5/src/mode.h Examining data/libkscreen-5.19.5/src/types.h Examining data/libkscreen-5.19.5/src/getconfigoperation.cpp Examining data/libkscreen-5.19.5/src/configserializer.cpp Examining data/libkscreen-5.19.5/src/config.cpp FINAL RESULTS: data/libkscreen-5.19.5/backends/fake/fake.cpp:110:10: [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). file.open(QIODevice::ReadOnly); data/libkscreen-5.19.5/backends/fake/parser.cpp:62:15: [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/libkscreen-5.19.5/backends/xrandr/xrandr.cpp:245:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(result, xcb_randr_get_output_property_data(reply), reply->num_items); data/libkscreen-5.19.5/src/edid.cpp:274:20: [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 (pnpIds.open(QIODevice::ReadOnly)) { data/libkscreen-5.19.5/src/log.cpp:132:15: [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::Append | QIODevice::Text)) { data/libkscreen-5.19.5/tests/kwayland/waylandconfigreader.cpp:40:10: [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). file.open(QIODevice::ReadOnly); ANALYSIS SUMMARY: Hits = 6 Lines analyzed = 15436 in approximately 0.44 seconds (35148 lines/second) Physical Source Lines of Code (SLOC) = 10376 Hits@level = [0] 0 [1] 0 [2] 6 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 6 [1+] 6 [2+] 6 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.578258 [1+] 0.578258 [2+] 0.578258 [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.