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/pygalmesh-0.9.1/src/domain.hpp Examining data/pygalmesh-0.9.1/src/generate.cpp Examining data/pygalmesh-0.9.1/src/generate.hpp Examining data/pygalmesh-0.9.1/src/generate_2d.cpp Examining data/pygalmesh-0.9.1/src/generate_2d.hpp Examining data/pygalmesh-0.9.1/src/generate_from_inr.cpp Examining data/pygalmesh-0.9.1/src/generate_from_inr.hpp Examining data/pygalmesh-0.9.1/src/generate_from_off.cpp Examining data/pygalmesh-0.9.1/src/generate_from_off.hpp Examining data/pygalmesh-0.9.1/src/generate_periodic.cpp Examining data/pygalmesh-0.9.1/src/generate_periodic.hpp Examining data/pygalmesh-0.9.1/src/generate_surface_mesh.cpp Examining data/pygalmesh-0.9.1/src/generate_surface_mesh.hpp Examining data/pygalmesh-0.9.1/src/polygon2d.hpp Examining data/pygalmesh-0.9.1/src/primitives.hpp Examining data/pygalmesh-0.9.1/src/pybind11.cpp Examining data/pygalmesh-0.9.1/src/remesh_surface.cpp Examining data/pygalmesh-0.9.1/src/remesh_surface.hpp Examining data/pygalmesh-0.9.1/src/sizing_field.hpp FINAL RESULTS: data/pygalmesh-0.9.1/src/generate.cpp:108:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_from_inr.cpp:75:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_from_inr.cpp:143:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_from_off.cpp:118:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_periodic.cpp:101:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_surface_mesh.cpp:80:15: [3] (random) setstate: 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. std::cout.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_surface_mesh.cpp:81:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/remesh_surface.cpp:66:15: [3] (random) setstate: 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. std::cerr.setstate(std::ios_base::failbit); data/pygalmesh-0.9.1/src/generate_from_inr.cpp:57:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const bool success = image.read(inr_filename.c_str()); data/pygalmesh-0.9.1/src/generate_from_inr.cpp:120:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const bool success = image.read(inr_filename.c_str()); ANALYSIS SUMMARY: Hits = 10 Lines analyzed = 2794 in approximately 0.08 seconds (35014 lines/second) Physical Source Lines of Code (SLOC) = 2254 Hits@level = [0] 0 [1] 2 [2] 0 [3] 8 [4] 0 [5] 0 Hits@level+ = [0+] 10 [1+] 10 [2+] 8 [3+] 8 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 4.43656 [1+] 4.43656 [2+] 3.54925 [3+] 3.54925 [4+] 0 [5+] 0 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.