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/ir.lv2-1.3.4~dfsg0/convert4chan.c
Examining data/ir.lv2-1.3.4~dfsg0/ir.cc
Examining data/ir.lv2-1.3.4~dfsg0/ir.h
Examining data/ir.lv2-1.3.4~dfsg0/ir_meter.cc
Examining data/ir.lv2-1.3.4~dfsg0/ir_meter.h
Examining data/ir.lv2-1.3.4~dfsg0/ir_modeind.cc
Examining data/ir.lv2-1.3.4~dfsg0/ir_modeind.h
Examining data/ir.lv2-1.3.4~dfsg0/ir_utils.cc
Examining data/ir.lv2-1.3.4~dfsg0/ir_utils.h
Examining data/ir.lv2-1.3.4~dfsg0/ir_wavedisplay.cc
Examining data/ir.lv2-1.3.4~dfsg0/ir_wavedisplay.h
Examining data/ir.lv2-1.3.4~dfsg0/ir_gui.cc

FINAL RESULTS:

data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:319:3:  [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.
		snprintf(str, 1024, S1 "<b>Predelay</b>" S2 "\n" XS1 "%0.1fms" XS2,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:325:3:  [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.
		snprintf(str, 1024, S1 "<b>      Attack</b>" S2 "\n" XS1 "%0.0f%%  %0.0fms" XS2,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:331:3:  [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.
		snprintf(str, 1024, S1 "<b>Envelope</b>" S2 "\n" XS1 "%0.1f%%" XS2,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:336:3:  [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.
		snprintf(str, 1024, S1 "<b>Length</b>" S2 "\n" XS1"%0.1f%%" XS2,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:341:3:  [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.
		snprintf(str, 1024, S1 "<b>Stretch</b>" S2 "\n" XS1 "%0.1f%%" XS2,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:347:3:  [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.
		snprintf(str, 1024, S1 "<b>Stereo in/IR</b>" S2 "\n" XS1 "%0.0f%% / %0.0f%%" XS2,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:355:4:  [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.
			snprintf(str, 1024, S1 "%+0.1f dB" S2, v);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:357:4:  [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.
			snprintf(str, 1024, S1 "0.0 dB" S2);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:359:4:  [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.
			snprintf(str, 1024, S1 "%+0.1f dB" S2, v);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:361:4:  [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.
			snprintf(str, 1024, S1 "mute" S2);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:368:4:  [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.
			snprintf(str, 1024, S1 "%+0.1f dB" S2, v);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:370:4:  [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.
			snprintf(str, 1024, S1 "0.0 dB" S2);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:372:4:  [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.
			snprintf(str, 1024, S1 "%+0.1f dB" S2, v);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:374:4:  [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.
			snprintf(str, 1024, S1 "mute" S2);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:388:3:  [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.
		snprintf(str, 1024,
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:395:3:  [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.
		snprintf(str, 1024,
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:83:2:  [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.
	snprintf(key, 20, "%016" PRIx64, fhash);
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:91:2:  [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.
	snprintf(key, 20, "%016" PRIx64, hash);
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:58:42:  [3] (buffer) g_get_home_dir:
  This function is synonymous with 'getenv("HOME")';it returns untrustable
  input if the environment can beset by an attacker. It can have any content
  and length, and the same variable can be set more than once (CWE-807,
  CWE-20). Check environment variables carefully before using them.
	gchar * ir_save_path = g_build_filename(g_get_home_dir(), IR_SAVE_FILE, NULL);
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:72:42:  [3] (buffer) g_get_home_dir:
  This function is synonymous with 'getenv("HOME")';it returns untrustable
  input if the environment can beset by an attacker. It can have any content
  and length, and the same variable can be set more than once (CWE-807,
  CWE-20). Check environment variables carefully before using them.
	gchar * ir_save_path = g_build_filename(g_get_home_dir(), IR_SAVE_FILE, NULL);
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:297:3:  [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 str[32];
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:311:2:  [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 str[1024];
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:383:2:  [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 str[1024];
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:1368:3:  [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 str[4];
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:82:2:  [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 key[20];
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:90:2:  [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 key[20];
data/ir.lv2-1.3.4~dfsg0/convert4chan.c:44:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(file) < 1) { return 0; }
data/ir.lv2-1.3.4~dfsg0/convert4chan.c:51:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(file) < 6) { return 0; }
data/ir.lv2-1.3.4~dfsg0/convert4chan.c:52:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	const char * ext = file + strlen(file)-5;
data/ir.lv2-1.3.4~dfsg0/convert4chan.c:190:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	file_R[strlen(file_R)-5] = 'R';
data/ir.lv2-1.3.4~dfsg0/convert4chan.c:202:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	file_4[strlen(file_4)-5] = '4';
data/ir.lv2-1.3.4~dfsg0/ir.cc:214:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (ir->source_path && (strlen(ir->source_path) > 0)) {
data/ir.lv2-1.3.4~dfsg0/ir_gui.cc:993:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		if ((bookmark != NULL) && (strlen(bookmark) > 0)) {
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:140:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(file) < 5) { return 0; }
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:141:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	const char * ext = file + strlen(file)-4;
data/ir.lv2-1.3.4~dfsg0/ir_utils.cc:157:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(file) < 1) { return 0; }

ANALYSIS SUMMARY:

Hits = 36
Lines analyzed = 4199 in approximately 0.13 seconds (31581 lines/second)
Physical Source Lines of Code (SLOC) = 3317
Hits@level = [0]  38 [1]  10 [2]   6 [3]   2 [4]  18 [5]   0
Hits@level+ = [0+]  74 [1+]  36 [2+]  26 [3+]  20 [4+]  18 [5+]   0
Hits/KSLOC@level+ = [0+] 22.3093 [1+] 10.8532 [2+] 7.83841 [3+] 6.02954 [4+] 5.42659 [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.