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/ksquares-20.04.3/src/newgamedialog.cpp Examining data/ksquares-20.04.3/src/ksquaresplayer.h Examining data/ksquares-20.04.3/src/highlightanimation.h Examining data/ksquares-20.04.3/src/aicontroller.cpp Examining data/ksquares-20.04.3/src/scoresdialog.h Examining data/ksquares-20.04.3/src/newgamedialog.h Examining data/ksquares-20.04.3/src/themegraphicsitems.cpp Examining data/ksquares-20.04.3/src/scoresdialog.cpp Examining data/ksquares-20.04.3/src/gameboardview.cpp Examining data/ksquares-20.04.3/src/ksquaresdemowindow.h Examining data/ksquares-20.04.3/src/main.cpp Examining data/ksquares-20.04.3/src/gameboardscene.cpp Examining data/ksquares-20.04.3/src/aicontroller.h Examining data/ksquares-20.04.3/src/highlightanimation.cpp Examining data/ksquares-20.04.3/src/gameboardscene.h Examining data/ksquares-20.04.3/src/ksquaresdemowindow.cpp Examining data/ksquares-20.04.3/src/ksquaresgame.cpp Examining data/ksquares-20.04.3/src/ksquareswindow.cpp Examining data/ksquares-20.04.3/src/themegraphicsitems.h Examining data/ksquares-20.04.3/src/ksquareswindow.h Examining data/ksquares-20.04.3/src/ksquaresgame.h Examining data/ksquares-20.04.3/src/gameboardview.h FINAL RESULTS: data/ksquares-20.04.3/src/aicontroller.cpp:174: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(myLines.data(), lines, linesSize); // lines --> myLines (complete own chains) --> linesCopy (analyze damage/chains for next runs) data/ksquares-20.04.3/src/aicontroller.cpp:243:13: [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(linesCopy.data(), myLines.data(), linesSize); //make temporary local copies of lists data/ksquares-20.04.3/src/aicontroller.cpp:248:13: [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(linesCopy.data(), lines, linesSize); //make temporary local copies of lists data/ksquares-20.04.3/src/aicontroller.cpp:349:13: [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(myLines.data(), lines, linesSize); // we want to look one line into the future game data/ksquares-20.04.3/src/aicontroller.cpp:397:13: [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(myLines.data(), lines, linesSize); // we want to look one line into the future game ANALYSIS SUMMARY: Hits = 5 Lines analyzed = 2509 in approximately 0.40 seconds (6261 lines/second) Physical Source Lines of Code (SLOC) = 1549 Hits@level = [0] 0 [1] 0 [2] 5 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 5 [1+] 5 [2+] 5 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 3.22789 [1+] 3.22789 [2+] 3.22789 [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.