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/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/analmodelpymodule.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/bindings.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/bindings.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/exceptions.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/exceptions.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/misc.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/analmodelpymodule/misc.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/libanalmodelpy/analytical_model.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/libanalmodelpy/analytical_model.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/libanalmodelpy/sas_model.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/analmodelpy/tests/testanalytical_model.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/bindings.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/bindings.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/exceptions.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/exceptions.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/geoshapespymodule.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/misc.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/geoshapespymodule/misc.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/Point3D.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/Point3D.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/cylinder.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/cylinder.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/ellipsoid.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/ellipsoid.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/geo_shape.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/geo_shape.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/hollow_sphere.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/hollow_sphere.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/minmax.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/myutil.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/myutil.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/single_helix.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/single_helix.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/sphere.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/sphere.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/transformation.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/transformation.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/tests/testPoint.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/tests/testorientation.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/tests/testshapes.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/tests/testsphere.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/bindings.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/bindings.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/exceptions.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/exceptions.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/iqPymodule.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/misc.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/iqPymodule/misc.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/iq.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/iq.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_array1d.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_array1d_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_array2d.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_array2d_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_array3d.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_array3d_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_cmat.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_fortran_array1d.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_fortran_array1d_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_fortran_array2d.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_fortran_array2d_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_fortran_array3d.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_fortran_array3d_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_i_refvec.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_math_utils.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_sparse_matrix_csr.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_stopwatch.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_subscript.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_vec.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_version.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/tests/testiq.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/complex_model.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/complex_model.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/lores_model.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/lores_model.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/pdb_model.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/pdb_model.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/points_model.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/points_model.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/bindings.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/bindings.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/exceptions.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/exceptions.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/misc.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/misc.h Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/pointsmodelpymodule/pointsmodelpymodule.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/tests/testcomplexmodel.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/tests/testlores.cc Examining data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/tests/testpdb.cc FINAL RESULTS: data/sasview-5.0.3/src/sas/sascalc/simulation/geoshapespy/libgeoshapespy/myutil.cc:9:2: [3] (random) srand: 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. srand((unsigned)time(NULL)); data/sasview-5.0.3/src/sas/sascalc/simulation/pointsmodelpy/libpointsmodelpy/points_model.cc:229:13: [2] (misc) fopen: 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). outfile = fopen(fpr,"w+"); data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_stopwatch.h:46:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). inline double read(); data/sasview-5.0.3/src/sas/sascalc/simulation/iqPy/libiqPy/tnt/tnt_stopwatch.h:80:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). inline double Stopwatch::read() ANALYSIS SUMMARY: Hits = 4 Lines analyzed = 10460 in approximately 0.33 seconds (31352 lines/second) Physical Source Lines of Code (SLOC) = 6412 Hits@level = [0] 5 [1] 2 [2] 1 [3] 1 [4] 0 [5] 0 Hits@level+ = [0+] 9 [1+] 4 [2+] 2 [3+] 1 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 1.40362 [1+] 0.62383 [2+] 0.311915 [3+] 0.155958 [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.