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/fomp-1.2.0/src/autowah.cc Examining data/fomp-1.2.0/src/autowah.h Examining data/fomp-1.2.0/src/autowah_lv2.cc Examining data/fomp-1.2.0/src/blvco.cc Examining data/fomp-1.2.0/src/blvco.h Examining data/fomp-1.2.0/src/blvco_lv2.cc Examining data/fomp-1.2.0/src/cs_chorus.cc Examining data/fomp-1.2.0/src/cs_chorus.h Examining data/fomp-1.2.0/src/cs_chorus_if.cc Examining data/fomp-1.2.0/src/cs_chorus_lv2.cc Examining data/fomp-1.2.0/src/cs_phaser.cc Examining data/fomp-1.2.0/src/cs_phaser.h Examining data/fomp-1.2.0/src/cs_phaser_if.cc Examining data/fomp-1.2.0/src/cs_phaser_lv2.cc Examining data/fomp-1.2.0/src/exp2ap.h Examining data/fomp-1.2.0/src/filters.cc Examining data/fomp-1.2.0/src/filters.h Examining data/fomp-1.2.0/src/filters_lv2.cc Examining data/fomp-1.2.0/src/ladspaplugin.h Examining data/fomp-1.2.0/src/mvchpf24.cc Examining data/fomp-1.2.0/src/mvchpf24.h Examining data/fomp-1.2.0/src/mvchpf24_if.cc Examining data/fomp-1.2.0/src/mvchpf24_lv2.cc Examining data/fomp-1.2.0/src/mvclpf24.cc Examining data/fomp-1.2.0/src/mvclpf24.h Examining data/fomp-1.2.0/src/mvclpf24_if.cc Examining data/fomp-1.2.0/src/mvclpf24_lv2.cc Examining data/fomp-1.2.0/src/pareq.cc Examining data/fomp-1.2.0/src/pareq.h Examining data/fomp-1.2.0/src/plugin_lv2.h Examining data/fomp-1.2.0/src/reverbs.cc Examining data/fomp-1.2.0/src/reverbs.h Examining data/fomp-1.2.0/src/reverbs_lv2.cc Examining data/fomp-1.2.0/src/zreverb.cc Examining data/fomp-1.2.0/src/zreverb.h FINAL RESULTS: data/fomp-1.2.0/src/blvco.cc:121:3: [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 (_f, _f + FILLEN, NCOEFF * sizeof (float)); data/fomp-1.2.0/src/blvco.cc:213:3: [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 (_f, _f + FILLEN, NCOEFF * sizeof (float)); data/fomp-1.2.0/src/blvco.cc:338:3: [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 (_f, _f + FILLEN, NCOEFF * sizeof (float)); data/fomp-1.2.0/src/cs_chorus_if.cc:111:14: [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. static const char * const pname12 [Ladspa_CS_chorus1::NPORT] = data/fomp-1.2.0/src/cs_chorus_if.cc:147:14: [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. static const char * const pname3 [Ladspa_CS_chorus3::NPORT] = data/fomp-1.2.0/src/cs_phaser_if.cc:95:14: [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. static const char * const pname0 [Ladspa_CS_phaser1::NPORT] = data/fomp-1.2.0/src/cs_phaser_if.cc:153:14: [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. static const char * const pname1 [Ladspa_CS_phaser1lfo::NPORT] = data/fomp-1.2.0/src/filters.cc:98:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if (p) memcpy (aop, p, k * sizeof (float)); data/fomp-1.2.0/src/mvchpf24_if.cc:82:14: [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. static const char * const pname1 [Ladspa_Mvchpf1::NPORT] = data/fomp-1.2.0/src/mvclpf24_if.cc:105:14: [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. static const char * const pname1 [Ladspa_Moogvcf1::NPORT] = data/fomp-1.2.0/src/mvclpf24_if.cc:151:14: [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. static const char * const pname4 [Ladspa_Moogvcf4::NPORT + Ladspa_Moogvcf4::NLABEL] = data/fomp-1.2.0/src/zreverb.cc:360:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x0 = _diff1 [0].process (_delay [0].read () + t); data/fomp-1.2.0/src/zreverb.cc:361:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x1 = _diff1 [1].process (_delay [1].read () + t); data/fomp-1.2.0/src/zreverb.cc:362:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x2 = _diff1 [2].process (_delay [2].read () - t); data/fomp-1.2.0/src/zreverb.cc:363:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x3 = _diff1 [3].process (_delay [3].read () - t); data/fomp-1.2.0/src/zreverb.cc:365:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x4 = _diff1 [4].process (_delay [4].read () + t); data/fomp-1.2.0/src/zreverb.cc:366:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x5 = _diff1 [5].process (_delay [5].read () + t); data/fomp-1.2.0/src/zreverb.cc:367:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x6 = _diff1 [6].process (_delay [6].read () - t); data/fomp-1.2.0/src/zreverb.cc:368:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). x7 = _diff1 [7].process (_delay [7].read () - t); data/fomp-1.2.0/src/zreverb.h:115:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). float read (void) ANALYSIS SUMMARY: Hits = 20 Lines analyzed = 5297 in approximately 0.16 seconds (32628 lines/second) Physical Source Lines of Code (SLOC) = 3750 Hits@level = [0] 0 [1] 9 [2] 11 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 20 [1+] 20 [2+] 11 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 5.33333 [1+] 5.33333 [2+] 2.93333 [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.