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/zita-dpl1-0.3.3/source/zita-dpl1.cc Examining data/zita-dpl1-0.3.3/source/dplimit1.cc Examining data/zita-dpl1-0.3.3/source/jclient.h Examining data/zita-dpl1-0.3.3/source/jclient.cc Examining data/zita-dpl1-0.3.3/source/global.h Examining data/zita-dpl1-0.3.3/source/guiclass.cc Examining data/zita-dpl1-0.3.3/source/mainwin.cc Examining data/zita-dpl1-0.3.3/source/guiclass.h Examining data/zita-dpl1-0.3.3/source/styles.h Examining data/zita-dpl1-0.3.3/source/dplimit1.h Examining data/zita-dpl1-0.3.3/source/png2img.h Examining data/zita-dpl1-0.3.3/source/mainwin.h Examining data/zita-dpl1-0.3.3/source/rotary.h Examining data/zita-dpl1-0.3.3/source/styles.cc Examining data/zita-dpl1-0.3.3/source/png2img.cc Examining data/zita-dpl1-0.3.3/source/rotary.cc FINAL RESULTS: data/zita-dpl1-0.3.3/source/guiclass.cc:49:16: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. if (_form) snprintf (p, n, _form, _value); data/zita-dpl1-0.3.3/source/guiclass.cc:115:16: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. if (_form) snprintf (p, n, _form, _value); data/zita-dpl1-0.3.3/source/mainwin.cc:43:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf (s, "%s", jclient->jname ()); data/zita-dpl1-0.3.3/source/jclient.cc:48:5: [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. char s [16]; data/zita-dpl1-0.3.3/source/jclient.cc:74:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (s, "in_%d", i + 1); data/zita-dpl1-0.3.3/source/jclient.cc:76:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (s, "out_%d", i + 1); data/zita-dpl1-0.3.3/source/mainwin.cc:37:5: [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. char s [256]; data/zita-dpl1-0.3.3/source/mainwin.cc:223:5: [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. char s [10]; data/zita-dpl1-0.3.3/source/mainwin.cc:232:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (s, "%2.1lf dB", v); data/zita-dpl1-0.3.3/source/mainwin.cc:238:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (s, "%5.1lf dB", v); data/zita-dpl1-0.3.3/source/mainwin.cc:244:31: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. if (v >= 0.30f) sprintf (s, "%4.2lf s", v); data/zita-dpl1-0.3.3/source/mainwin.cc:245:31: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. else if (v >= 0.03f) sprintf (s, "%3.0lf ms", 1e3f * v); data/zita-dpl1-0.3.3/source/mainwin.cc:246:31: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. else sprintf (s, "%3.1lf ms", 1e3f * v); data/zita-dpl1-0.3.3/source/png2img.cc:38:9: [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). F = fopen (file, "r"); data/zita-dpl1-0.3.3/source/rotary.h:36:5: [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. char _lncol [4]; data/zita-dpl1-0.3.3/source/zita-dpl1.cc:33:13: [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. #define CP (char *) data/zita-dpl1-0.3.3/source/zita-dpl1.cc:82:10: [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). nc = atoi (xresman.get (".channels", "1")); ANALYSIS SUMMARY: Hits = 17 Lines analyzed = 2068 in approximately 0.05 seconds (41366 lines/second) Physical Source Lines of Code (SLOC) = 1409 Hits@level = [0] 19 [1] 0 [2] 14 [3] 0 [4] 3 [5] 0 Hits@level+ = [0+] 36 [1+] 17 [2+] 17 [3+] 3 [4+] 3 [5+] 0 Hits/KSLOC@level+ = [0+] 25.55 [1+] 12.0653 [2+] 12.0653 [3+] 2.12917 [4+] 2.12917 [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.