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/igor-1.4.0+dfsg/igor_src/Aligner.h Examining data/igor-1.4.0+dfsg/igor_src/Bestscenarioscounter.cpp Examining data/igor-1.4.0+dfsg/igor_src/Bestscenarioscounter.h Examining data/igor-1.4.0+dfsg/igor_src/CDR3SeqData.cpp Examining data/igor-1.4.0+dfsg/igor_src/CDR3SeqData.h Examining data/igor-1.4.0+dfsg/igor_src/Counter.cpp Examining data/igor-1.4.0+dfsg/igor_src/Counter.h Examining data/igor-1.4.0+dfsg/igor_src/Coverageerrcounter.cpp Examining data/igor-1.4.0+dfsg/igor_src/Coverageerrcounter.h Examining data/igor-1.4.0+dfsg/igor_src/Deletion.cpp Examining data/igor-1.4.0+dfsg/igor_src/Deletion.h Examining data/igor-1.4.0+dfsg/igor_src/Dinuclmarkov.cpp Examining data/igor-1.4.0+dfsg/igor_src/Dinuclmarkov.h Examining data/igor-1.4.0+dfsg/igor_src/Errorrate.cpp Examining data/igor-1.4.0+dfsg/igor_src/Errorrate.h Examining data/igor-1.4.0+dfsg/igor_src/Errorscounter.cpp Examining data/igor-1.4.0+dfsg/igor_src/Errorscounter.h Examining data/igor-1.4.0+dfsg/igor_src/ExtractFeatures.h Examining data/igor-1.4.0+dfsg/igor_src/GenModel.cpp Examining data/igor-1.4.0+dfsg/igor_src/GenModel.h Examining data/igor-1.4.0+dfsg/igor_src/Genechoice.cpp Examining data/igor-1.4.0+dfsg/igor_src/Genechoice.h Examining data/igor-1.4.0+dfsg/igor_src/HypermutationfullNmererrorrate.cpp Examining data/igor-1.4.0+dfsg/igor_src/HypermutationfullNmererrorrate.h Examining data/igor-1.4.0+dfsg/igor_src/Hypermutationglobalerrorrate.cpp Examining data/igor-1.4.0+dfsg/igor_src/Hypermutationglobalerrorrate.h Examining data/igor-1.4.0+dfsg/igor_src/Insertion.cpp Examining data/igor-1.4.0+dfsg/igor_src/Insertion.h Examining data/igor-1.4.0+dfsg/igor_src/IntStr.cpp Examining data/igor-1.4.0+dfsg/igor_src/IntStr.h Examining data/igor-1.4.0+dfsg/igor_src/Model_Parms.cpp Examining data/igor-1.4.0+dfsg/igor_src/Model_Parms.h Examining data/igor-1.4.0+dfsg/igor_src/Model_marginals.cpp Examining data/igor-1.4.0+dfsg/igor_src/Model_marginals.h Examining data/igor-1.4.0+dfsg/igor_src/Pgencounter.cpp Examining data/igor-1.4.0+dfsg/igor_src/Pgencounter.h Examining data/igor-1.4.0+dfsg/igor_src/Rec_Event.cpp Examining data/igor-1.4.0+dfsg/igor_src/Rec_Event.h Examining data/igor-1.4.0+dfsg/igor_src/Singleerrorrate.cpp Examining data/igor-1.4.0+dfsg/igor_src/Singleerrorrate.h Examining data/igor-1.4.0+dfsg/igor_src/Utils.cpp Examining data/igor-1.4.0+dfsg/igor_src/Utils.h Examining data/igor-1.4.0+dfsg/igor_src/main.cpp Examining data/igor-1.4.0+dfsg/igor_src/Aligner.cpp Examining data/igor-1.4.0+dfsg/igor_src/ExtractFeatures.cpp FINAL RESULTS: data/igor-1.4.0+dfsg/igor_src/main.cpp:257:4: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("man igor")[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:1565:3: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path )[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:1716:3: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path + "run_demo")[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:1750:4: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path + "aligns")[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:2058:4: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path + batchname + "output")[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:2062:5: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path + batchname + "inference")[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:2068:5: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path + batchname + "evaluate")[0]); data/igor-1.4.0+dfsg/igor_src/main.cpp:2078:4: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(&("mkdir " + cl_path + batchname + "generated")[0]); data/igor-1.4.0+dfsg/igor_src/Bestscenarioscounter.cpp:134:35: [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). this->output_scenario_file_ptr->open(path_to_file + "best_scenarios_counts.csv"); data/igor-1.4.0+dfsg/igor_src/Coverageerrcounter.cpp:90:37: [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). this->output_cov_err_v_file_ptr->open(path_to_file + "V_genes_cov_and_err.csv"); data/igor-1.4.0+dfsg/igor_src/Coverageerrcounter.cpp:103:37: [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). this->output_cov_err_d_file_ptr->open(path_to_file + "D_genes_cov_and_err.csv"); data/igor-1.4.0+dfsg/igor_src/Coverageerrcounter.cpp:116:37: [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). this->output_cov_err_j_file_ptr->open(path_to_file + "J_genes_cov_and_err.csv"); data/igor-1.4.0+dfsg/igor_src/Errorscounter.cpp:143:43: [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). this->output_scenario_errors_file_ptr->open(path_to_file + "scenarios_background_and_errors.csv"); data/igor-1.4.0+dfsg/igor_src/Errorscounter.cpp:150:51: [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). this->output_sequence_averaged_errors_file_ptr->open(path_to_file + "sequence_mutation_frequency.csv"); data/igor-1.4.0+dfsg/igor_src/GenModel.cpp:501:19: [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). outfile_ind_seq.open(filename_ind_seq); data/igor-1.4.0+dfsg/igor_src/GenModel.cpp:502: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). outfile_ind_real.open(filename_ind_real); data/igor-1.4.0+dfsg/igor_src/HypermutationfullNmererrorrate.cpp:173:27: [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). output_Nmer_stat_stream->open(filename); data/igor-1.4.0+dfsg/igor_src/Hypermutationglobalerrorrate.cpp:191:27: [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). output_Nmer_stat_stream->open(filename); data/igor-1.4.0+dfsg/igor_src/Pgencounter.cpp:52:25: [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). output_pgen_file_ptr->open(path_to_file + "Pgen_counts.csv"); ANALYSIS SUMMARY: Hits = 19 Lines analyzed = 20756 in approximately 0.61 seconds (34009 lines/second) Physical Source Lines of Code (SLOC) = 12459 Hits@level = [0] 0 [1] 0 [2] 11 [3] 0 [4] 8 [5] 0 Hits@level+ = [0+] 19 [1+] 19 [2+] 19 [3+] 8 [4+] 8 [5+] 0 Hits/KSLOC@level+ = [0+] 1.525 [1+] 1.525 [2+] 1.525 [3+] 0.642106 [4+] 0.642106 [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.