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/razercfg-0.42+ds/razerd/razerd.c
Examining data/razercfg-0.42+ds/librazer/util.h
Examining data/razercfg-0.42+ds/librazer/util.c
Examining data/razercfg-0.42+ds/librazer/synapse.h
Examining data/razercfg-0.42+ds/librazer/synapse.c
Examining data/razercfg-0.42+ds/librazer/razer_private.h
Examining data/razercfg-0.42+ds/librazer/profile_emulation.h
Examining data/razercfg-0.42+ds/librazer/profile_emulation.c
Examining data/razercfg-0.42+ds/librazer/librazer.h
Examining data/razercfg-0.42+ds/librazer/librazer.c
Examining data/razercfg-0.42+ds/librazer/hw_taipan.h
Examining data/razercfg-0.42+ds/librazer/hw_taipan.c
Examining data/razercfg-0.42+ds/librazer/hw_naga.h
Examining data/razercfg-0.42+ds/librazer/hw_naga.c
Examining data/razercfg-0.42+ds/librazer/hw_mamba_tournament_edition.h
Examining data/razercfg-0.42+ds/librazer/hw_mamba_tournament_edition.c
Examining data/razercfg-0.42+ds/librazer/hw_lachesis5k6.h
Examining data/razercfg-0.42+ds/librazer/hw_lachesis5k6.c
Examining data/razercfg-0.42+ds/librazer/hw_lachesis.h
Examining data/razercfg-0.42+ds/librazer/hw_lachesis.c
Examining data/razercfg-0.42+ds/librazer/hw_krait.h
Examining data/razercfg-0.42+ds/librazer/hw_krait.c
Examining data/razercfg-0.42+ds/librazer/hw_imperator.h
Examining data/razercfg-0.42+ds/librazer/hw_imperator.c
Examining data/razercfg-0.42+ds/librazer/hw_diamondback_chroma.h
Examining data/razercfg-0.42+ds/librazer/hw_diamondback_chroma.c
Examining data/razercfg-0.42+ds/librazer/hw_deathadder_chroma.h
Examining data/razercfg-0.42+ds/librazer/hw_deathadder_chroma.c
Examining data/razercfg-0.42+ds/librazer/hw_deathadder2013.h
Examining data/razercfg-0.42+ds/librazer/hw_deathadder2013.c
Examining data/razercfg-0.42+ds/librazer/hw_deathadder.h
Examining data/razercfg-0.42+ds/librazer/hw_deathadder.c
Examining data/razercfg-0.42+ds/librazer/hw_copperhead.h
Examining data/razercfg-0.42+ds/librazer/hw_copperhead.c
Examining data/razercfg-0.42+ds/librazer/hw_boomslangce.h
Examining data/razercfg-0.42+ds/librazer/hw_boomslangce.c
Examining data/razercfg-0.42+ds/librazer/cypress_bootloader.h
Examining data/razercfg-0.42+ds/librazer/cypress_bootloader.c
Examining data/razercfg-0.42+ds/librazer/config.h
Examining data/razercfg-0.42+ds/librazer/config.c
Examining data/razercfg-0.42+ds/librazer/buttonmapping.h
Examining data/razercfg-0.42+ds/librazer/buttonmapping.c

FINAL RESULTS:

data/razercfg-0.42+ds/razerd/razerd.c:486:8:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
	err = chmod(path, perm);
data/razercfg-0.42+ds/librazer/cypress_bootloader.c:55:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(buf, message);
data/razercfg-0.42+ds/librazer/librazer.c:361:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(globstr, section);
data/razercfg-0.42+ds/librazer/librazer.c:362:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(idstr, m->idstr);
data/razercfg-0.42+ds/librazer/util.c:308:4:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			printf((i % 2) ? "   " : "  ");
data/razercfg-0.42+ds/razerd/razerd.c:371:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf(stdout, fmt, args);
data/razercfg-0.42+ds/razerd/razerd.c:385:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf(stderr, fmt, args);
data/razercfg-0.42+ds/razerd/razerd.c:400:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		vfprintf(stdout, fmt, args);
data/razercfg-0.42+ds/razerd/razerd.c:2169:7:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
		c = getopt_long(argc, argv, "hvBc:CpP:l:f",
data/razercfg-0.42+ds/librazer/config.c:216:7:  [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).
	fd = fopen(path, "rb");
data/razercfg-0.42+ds/librazer/cypress_bootloader.c:54:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcat(buf, ", ");
data/razercfg-0.42+ds/librazer/cypress_bootloader.c:61: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 buf[512] = { 0, }; /* big enough for all messages */
data/razercfg-0.42+ds/librazer/cypress_bootloader.c:206:2:  [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(&cmd.payload[3], data, 32);
data/razercfg-0.42+ds/librazer/hw_boomslangce.c:268: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 buf[2];
data/razercfg-0.42+ds/librazer/hw_copperhead.c:172: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 buf[2];
data/razercfg-0.42+ds/librazer/hw_deathadder.c:140: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 buf[2];
data/razercfg-0.42+ds/librazer/hw_deathadder_chroma.c:177: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 serial[DEATHADDER_CHROMA_REQUEST_SIZE_GET_SERIAL_NO + 1];
data/razercfg-0.42+ds/librazer/hw_deathadder_chroma.c:495:2:  [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(*res_ptr, deathadder_chroma_freqs_list,
data/razercfg-0.42+ds/librazer/hw_diamondback_chroma.c:198: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 serial[DIAMONDBACK_CHROMA_REQUEST_SIZE_GET_SERIAL_NO + 1];
data/razercfg-0.42+ds/librazer/hw_diamondback_chroma.c:557:2:  [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(*res_ptr, diamondback_chroma_freqs_list, sizeof(diamondback_chroma_freqs_list));
data/razercfg-0.42+ds/librazer/hw_mamba_tournament_edition.c:198: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 serial[MAMBA_TE_REQUEST_SIZE_GET_SERIAL_NO + 1];
data/razercfg-0.42+ds/librazer/hw_mamba_tournament_edition.c:557:2:  [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(*res_ptr, mamba_te_freqs_list, sizeof(mamba_te_freqs_list));
data/razercfg-0.42+ds/librazer/hw_naga.c:134:2:  [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(cmd->values + 1, &xres, 2);
data/razercfg-0.42+ds/librazer/hw_naga.c:135:2:  [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(cmd->values + 3, &yres, 2);
data/razercfg-0.42+ds/librazer/hw_naga.c:233: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(&be16, &cmd.values, 2);
data/razercfg-0.42+ds/librazer/hw_naga.c:267: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(cmd.values, naga_leds[led_id].values, 2);
data/razercfg-0.42+ds/librazer/librazer.c:351: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 idstr[RAZER_IDSTR_MAX_SIZE + 1] = { 0, };
data/razercfg-0.42+ds/librazer/librazer.c:353: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 globstr[RAZER_IDSTR_MAX_SIZE + 1] = { 0, };
data/razercfg-0.42+ds/librazer/librazer.c:406: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 a[64] = { 0, }, b[64] = { 0, };
data/razercfg-0.42+ds/librazer/librazer.c:439: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 a[tmplen], b[tmplen], c[tmplen];
data/razercfg-0.42+ds/librazer/librazer.c:1193: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 devid[96];
data/razercfg-0.42+ds/librazer/librazer.c:1194: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 serial_buf[64];
data/razercfg-0.42+ds/librazer/librazer.c:1195: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 buspos[16];
data/razercfg-0.42+ds/librazer/librazer.h:533: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 idstr[RAZER_IDSTR_MAX_SIZE + 1];
data/razercfg-0.42+ds/librazer/profile_emulation.c:258: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 name[PROFEMU_NAME_MAX + 1];
data/razercfg-0.42+ds/librazer/synapse.c:126: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 name[32];
data/razercfg-0.42+ds/librazer/synapse.c:139: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 serial[SYNAPSE_SERIAL_MAX_LEN + 1];
data/razercfg-0.42+ds/librazer/synapse.c:347: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(req.payload, payload, payload_len);
data/razercfg-0.42+ds/librazer/synapse.c:390: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(req.payload, payload, payload_len);
data/razercfg-0.42+ds/librazer/synapse.c:402: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(payload, req.payload, payload_len);
data/razercfg-0.42+ds/librazer/synapse.c:550:2:  [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(s->serial, devinfo.serial, SYNAPSE_SERIAL_MAX_LEN);
data/razercfg-0.42+ds/librazer/util.c:181:2:  [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(dst, src, len);
data/razercfg-0.42+ds/librazer/util.c:291: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 ascii[17] = { 0, };
data/razercfg-0.42+ds/razerd/razerd.c:165: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 idstr[RAZER_IDSTR_MAX_SIZE];
data/razercfg-0.42+ds/razerd/razerd.c:205:4:  [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 led_name[RAZER_LEDNAME_MAX_SIZE];
data/razercfg-0.42+ds/razerd/razerd.c:417: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 buf[32] = { 0, };
data/razercfg-0.42+ds/razerd/razerd.c:427:7:  [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).
	fd = open(cmdargs.pidfile, O_RDWR | O_CREAT | O_TRUNC, 0444);
data/razercfg-0.42+ds/razerd/razerd.c:790: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(&((uint16_t *)r->string.str)[i], &value, sizeof(value));
data/razercfg-0.42+ds/razerd/razerd.c:941: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[RAZER_IDSTR_MAX_SIZE + 1];
data/razercfg-0.42+ds/razerd/razerd.c:1500: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 asciibuf[64] = { };
data/razercfg-0.42+ds/razerd/razerd.c:2001: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 command[COMMAND_MAX_SIZE + 1] = { 0, };
data/razercfg-0.42+ds/razerd/razerd.c:2027: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 command[COMMAND_MAX_SIZE + 1] = { 0, };
data/razercfg-0.42+ds/librazer/config.c:235: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).
		len = strlen(line);
data/razercfg-0.42+ds/librazer/hw_deathadder_chroma.c:343:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(drv_data->serial, (const char *)cmd.bvalue,
data/razercfg-0.42+ds/librazer/hw_diamondback_chroma.c:365:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(drv_data->serial, (const char *)cmd.bvalue,
data/razercfg-0.42+ds/librazer/hw_mamba_tournament_edition.c:365:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(drv_data->serial, (const char *)cmd.bvalue,
data/razercfg-0.42+ds/librazer/librazer.c:356: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(section) > RAZER_IDSTR_MAX_SIZE) {
data/razercfg-0.42+ds/librazer/librazer.c:529:8:  [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(a) || !strlen(b))
data/razercfg-0.42+ds/librazer/librazer.c:529:22:  [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(a) || !strlen(b))
data/razercfg-0.42+ds/librazer/librazer.c:531:7:  [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(c)) {
data/razercfg-0.42+ds/librazer/librazer.c:593:8:  [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(a) || !strlen(b))
data/razercfg-0.42+ds/librazer/librazer.c:593:22:  [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(a) || !strlen(b))
data/razercfg-0.42+ds/librazer/librazer.c:595:7:  [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(c)) {
data/razercfg-0.42+ds/librazer/librazer.c:656:8:  [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(a) || !strlen(b))
data/razercfg-0.42+ds/librazer/librazer.c:656:22:  [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(a) || !strlen(b))
data/razercfg-0.42+ds/librazer/librazer.c:658:7:  [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(c)) {
data/razercfg-0.42+ds/librazer/librazer.c:1213:16:  [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 (serial && strlen(serial)) {
data/razercfg-0.42+ds/librazer/librazer.c:1252:4:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
			strcpy(serial_buf, "0");
data/razercfg-0.42+ds/librazer/librazer.c:1505: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(path)) {
data/razercfg-0.42+ds/librazer/util.c:57: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(str) >= elems_max_len)
data/razercfg-0.42+ds/librazer/util.c:162:8:  [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).
	len = strlen(start);
data/razercfg-0.42+ds/librazer/util.c:178:8:  [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).
	len = strlen(src);
data/razercfg-0.42+ds/razerd/razerd.c:435:23:  [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).
	res = write(fd, buf, strlen(buf));
data/razercfg-0.42+ds/razerd/razerd.c:437:32:  [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 (res < 0 || (size_t)res != strlen(buf)) {
data/razercfg-0.42+ds/razerd/razerd.c:747:18:  [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).
	size_t i, len = strlen(str);

ANALYSIS SUMMARY:

Hits = 75
Lines analyzed = 15802 in approximately 0.34 seconds (46691 lines/second)
Physical Source Lines of Code (SLOC) = 12178
Hits@level = [0]  37 [1]  23 [2]  43 [3]   1 [4]   7 [5]   1
Hits@level+ = [0+] 112 [1+]  75 [2+]  52 [3+]   9 [4+]   8 [5+]   1
Hits/KSLOC@level+ = [0+] 9.19691 [1+] 6.15865 [2+] 4.27 [3+] 0.739038 [4+] 0.656922 [5+] 0.0821153
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.