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/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp Examining data/libbioparser-dev-2.1.2/test/bioparser_test.cpp FINAL RESULTS: data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:275:22: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:293:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:385:22: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&(this->storage_[storage_ptr]), data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:410:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&(this->storage_[storage_ptr]), data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:483:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 3: minmers = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:484:32: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 4: a_rc = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:485:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 5: a_begin = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:486:33: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 6: a_end = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:487:36: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 7: a_length = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:488:32: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 8: b_rc = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:489:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 9: b_begin = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:490:34: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 10: b_end = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:491:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 11: b_length = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:520:22: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:533:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:608:36: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 1: q_length = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:609:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 2: q_begin = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:610:33: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 3: q_end = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:616:36: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 6: t_length = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:617:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 7: t_begin = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:618:33: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 8: t_end = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:619:42: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 9: matching_bases = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:620:43: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 10: overlap_length = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:621:44: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 11: mapping_quality = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:664:22: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:677:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:758:32: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 1: flag = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:763:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 3: t_begin = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:764:43: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 4: mapping_quality = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:773:40: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 7: t_next_begin = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:774:43: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 8: template_length = atoi(&(this->storage_[begin])); break; data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:837:22: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], data/libbioparser-dev-2.1.2/include/bioparser/bioparser.hpp:850:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(&this->storage_[storage_ptr], ANALYSIS SUMMARY: Hits = 33 Lines analyzed = 1682 in approximately 0.09 seconds (18293 lines/second) Physical Source Lines of Code (SLOC) = 1319 Hits@level = [0] 0 [1] 0 [2] 33 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 33 [1+] 33 [2+] 33 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 25.019 [1+] 25.019 [2+] 25.019 [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.