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/cloc-1.86/tests/inputs/C++-MFC.cc Examining data/cloc-1.86/tests/inputs/C++-uppercase.CPP Examining data/cloc-1.86/tests/inputs/C-Ansi.c Examining data/cloc-1.86/tests/inputs/aa/bb/cc/plasma.c Examining data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp Examining data/cloc-1.86/tests/inputs/dd/bb/config.c Examining data/cloc-1.86/tests/inputs/dd/bb/ee/TeapotRenderer.cpp Examining data/cloc-1.86/tests/inputs/diff/A/hello.C Examining data/cloc-1.86/tests/inputs/diff/B/hello.C Examining data/cloc-1.86/tests/inputs/hello.C Examining data/cloc-1.86/tests/inputs/issues/132/C-Ansi.c Examining data/cloc-1.86/tests/inputs/issues/280/L/hello_1.c Examining data/cloc-1.86/tests/inputs/issues/280/R/hello_2.c Examining data/cloc-1.86/tests/inputs/issues/286/project/read_subdir/hi.c Examining data/cloc-1.86/tests/inputs/issues/381/issue381.c Examining data/cloc-1.86/tests/inputs/issues/407/count_dir/C-Ansi.c Examining data/cloc-1.86/tests/inputs/issues/407/level2/level/Test/C-Ansi.c Examining data/cloc-1.86/tests/inputs/issues/463/left.C Examining data/cloc-1.86/tests/inputs/issues/463/right.C Examining data/cloc-1.86/tests/inputs/issues/476/A/bye.C Examining data/cloc-1.86/tests/inputs/issues/476/A/hello.C Examining data/cloc-1.86/tests/inputs/issues/476/B/hello.C Examining data/cloc-1.86/tests/inputs/issues/476/B/yo.C Examining data/cloc-1.86/tests/inputs/issues/482/A/C-Ansi.c Examining data/cloc-1.86/tests/inputs/issues/482/A/temp.c Examining data/cloc-1.86/tests/inputs/locale_facets.h Examining data/cloc-1.86/tests/inputs/temp.c FINAL RESULTS: data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:125:43: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. ndk_helper::Vec3( random() / float( RAND_MAX * 1.1 ), data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:126:33: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. random() / float( RAND_MAX * 1.1 ), data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:127:33: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. random() / float( RAND_MAX * 1.1 ) ) ); data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:129:28: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. float fX = random() / float( RAND_MAX ) - 0.5f; data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:130:28: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. float fY = random() / float( RAND_MAX ) - 0.5f; data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:186:17: [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( pColor, &vec_colors_[i], 3 * sizeof(float) ); data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:328: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( pMVPMat, mat_vp.Ptr(), sizeof(mat_v) ); data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:331: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( pMVMat, mat_v.Ptr(), sizeof(mat_v) ); data/cloc-1.86/tests/inputs/dd/bb/cc/MoreTeapotsRenderer.cpp:551:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str[64]; data/cloc-1.86/tests/inputs/locale_facets.h:1336:7: [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). open(const basic_string<char>& __s, const locale& __loc) const data/cloc-1.86/tests/inputs/locale_facets.h:1354:7: [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). open(const basic_string<char>&, const locale&, const char*) const; ANALYSIS SUMMARY: Hits = 11 Lines analyzed = 3118 in approximately 0.21 seconds (14747 lines/second) Physical Source Lines of Code (SLOC) = 1634 Hits@level = [0] 1 [1] 0 [2] 6 [3] 5 [4] 0 [5] 0 Hits@level+ = [0+] 12 [1+] 11 [2+] 11 [3+] 5 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 7.34394 [1+] 6.73195 [2+] 6.73195 [3+] 3.05998 [4+] 0 [5+] 0 Symlinks skipped = 5 (--allowlink overrides but see doc for security issue) Dot directories skipped = 2 (--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.