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/msp430-libc-20120224/include/bits/byteswap.h
Examining data/msp430-libc-20120224/include/errno.h
Examining data/msp430-libc-20120224/include/signal.h
Examining data/msp430-libc-20120224/include/isr_compat.h
Examining data/msp430-libc-20120224/include/debug.h
Examining data/msp430-libc-20120224/include/byteswap.h
Examining data/msp430-libc-20120224/include/stdio.h
Examining data/msp430-libc-20120224/include/stdlib.h
Examining data/msp430-libc-20120224/include/limits.h
Examining data/msp430-libc-20120224/include/math.h
Examining data/msp430-libc-20120224/include/ctype.h
Examining data/msp430-libc-20120224/include/setjmp.h
Examining data/msp430-libc-20120224/include/inttypes.h
Examining data/msp430-libc-20120224/include/sys/config.h
Examining data/msp430-libc-20120224/include/sys/crtld.h
Examining data/msp430-libc-20120224/include/sys/_ansi.h
Examining data/msp430-libc-20120224/include/sys/_types.h
Examining data/msp430-libc-20120224/include/sys/fdlibm.h
Examining data/msp430-libc-20120224/include/sys/ieeefp.h
Examining data/msp430-libc-20120224/include/sys/inttypes.h
Examining data/msp430-libc-20120224/include/sys/cdefs.h
Examining data/msp430-libc-20120224/include/sys/types.h
Examining data/msp430-libc-20120224/include/sys/reent.h
Examining data/msp430-libc-20120224/include/legacymsp430.h
Examining data/msp430-libc-20120224/include/string.h
Examining data/msp430-libc-20120224/include/stdint.h
Examining data/msp430-libc-20120224/include/msp430libc.h
Examining data/msp430-libc-20120224/include/endian.h
Examining data/msp430-libc-20120224/src/stdlib/utoa.c
Examining data/msp430-libc-20120224/src/stdlib/bsearch.c
Examining data/msp430-libc-20120224/src/stdlib/sprintf.c
Examining data/msp430-libc-20120224/src/stdlib/vuprintf.c
Examining data/msp430-libc-20120224/src/stdlib/uprintf.c
Examining data/msp430-libc-20120224/src/stdlib/abs.c
Examining data/msp430-libc-20120224/src/stdlib/strtol.c
Examining data/msp430-libc-20120224/src/stdlib/atol.c
Examining data/msp430-libc-20120224/src/stdlib/ultoa.c
Examining data/msp430-libc-20120224/src/stdlib/rand.c
Examining data/msp430-libc-20120224/src/stdlib/printf.c
Examining data/msp430-libc-20120224/src/stdlib/labs.c
Examining data/msp430-libc-20120224/src/stdlib/ltoa.c
Examining data/msp430-libc-20120224/src/stdlib/atoi.c
Examining data/msp430-libc-20120224/src/stdlib/strtoul.c
Examining data/msp430-libc-20120224/src/stdlib/malloc.c
Examining data/msp430-libc-20120224/src/stdlib/itoa.c
Examining data/msp430-libc-20120224/src/stdlib/puts.c
Examining data/msp430-libc-20120224/src/stdlib/errno.c
Examining data/msp430-libc-20120224/src/libm/ef_cosh.c
Examining data/msp430-libc-20120224/src/libm/sf_nan.c
Examining data/msp430-libc-20120224/src/libm/sf_scalbn.c
Examining data/msp430-libc-20120224/src/libm/sf_frexp.c
Examining data/msp430-libc-20120224/src/libm/sf_cbrt.c
Examining data/msp430-libc-20120224/src/libm/sf_erf.c
Examining data/msp430-libc-20120224/src/libm/sf_rint.c
Examining data/msp430-libc-20120224/src/libm/lesf.c
Examining data/msp430-libc-20120224/src/libm/subsf.c
Examining data/msp430-libc-20120224/src/libm/mulsf.c
Examining data/msp430-libc-20120224/src/libm/sf_cos.c
Examining data/msp430-libc-20120224/src/libm/sf_ldexp.c
Examining data/msp430-libc-20120224/src/libm/sf_isinf.c
Examining data/msp430-libc-20120224/src/libm/ef_j0.c
Examining data/msp430-libc-20120224/src/libm/ef_rem_pio2.c
Examining data/msp430-libc-20120224/src/libm/sf_ceil.c
Examining data/msp430-libc-20120224/src/libm/erf_lgamma.c
Examining data/msp430-libc-20120224/src/libm/gtsf.c
Examining data/msp430-libc-20120224/src/libm/sf_modf.c
Examining data/msp430-libc-20120224/src/libm/sf_infinity.c
Examining data/msp430-libc-20120224/src/libm/ef_asin.c
Examining data/msp430-libc-20120224/src/libm/sf_logb.c
Examining data/msp430-libc-20120224/src/libm/ef_exp.c
Examining data/msp430-libc-20120224/src/libm/sf_log1p.c
Examining data/msp430-libc-20120224/src/libm/sf_fabs.c
Examining data/msp430-libc-20120224/src/libm/sf_tanh.c
Examining data/msp430-libc-20120224/src/libm/fdlibm.h
Examining data/msp430-libc-20120224/src/libm/ef_fmod.c
Examining data/msp430-libc-20120224/src/libm/floatsisf.c
Examining data/msp430-libc-20120224/src/libm/ef_acosh.c
Examining data/msp430-libc-20120224/src/libm/sf_isnan.c
Examining data/msp430-libc-20120224/src/libm/ef_sinh.c
Examining data/msp430-libc-20120224/src/libm/sf_floor.c
Examining data/msp430-libc-20120224/src/libm/divsf.c
Examining data/msp430-libc-20120224/src/libm/floatdisf.c
Examining data/msp430-libc-20120224/src/libm/ef_sqrt.c
Examining data/msp430-libc-20120224/src/libm/fixunssfsi.c
Examining data/msp430-libc-20120224/src/libm/ef_atanh.c
Examining data/msp430-libc-20120224/src/libm/ef_j1.c
Examining data/msp430-libc-20120224/src/libm/ltsf.c
Examining data/msp430-libc-20120224/src/libm/sf_ilogb.c
Examining data/msp430-libc-20120224/src/libm/sf_tan.c
Examining data/msp430-libc-20120224/src/libm/sf_sin.c
Examining data/msp430-libc-20120224/src/libm/sf_nextafter.c
Examining data/msp430-libc-20120224/src/libm/sf_expm1.c
Examining data/msp430-libc-20120224/src/libm/ef_hypot.c
Examining data/msp430-libc-20120224/src/libm/sf_atan.c
Examining data/msp430-libc-20120224/src/libm/cmpsf.c
Examining data/msp430-libc-20120224/src/libm/erf_gamma.c
Examining data/msp430-libc-20120224/src/libm/ef_log10.c
Examining data/msp430-libc-20120224/src/libm/kf_rem_pio2.c
Examining data/msp430-libc-20120224/src/libm/ef_atan2.c
Examining data/msp430-libc-20120224/src/libm/nesf.c
Examining data/msp430-libc-20120224/src/libm/addsf.c
Examining data/msp430-libc-20120224/src/libm/sf_copysign.c
Examining data/msp430-libc-20120224/src/libm/ef_log.c
Examining data/msp430-libc-20120224/src/libm/ef_acos.c
Examining data/msp430-libc-20120224/src/libm/gesf.c
Examining data/msp430-libc-20120224/src/libm/fixunssfdi.c
Examining data/msp430-libc-20120224/src/libm/kf_cos.c
Examining data/msp430-libc-20120224/src/libm/fixsfsi.c
Examining data/msp430-libc-20120224/src/libm/mathsf.h
Examining data/msp430-libc-20120224/src/libm/sf_asinh.c
Examining data/msp430-libc-20120224/src/libm/kf_tan.c
Examining data/msp430-libc-20120224/src/libm/negsf.c
Examining data/msp430-libc-20120224/src/libm/ef_jn.c
Examining data/msp430-libc-20120224/src/libm/eqsf.c
Examining data/msp430-libc-20120224/src/libm/ef_scalb.c
Examining data/msp430-libc-20120224/src/libm/sf_finite.c
Examining data/msp430-libc-20120224/src/libm/ef_pow.c
Examining data/msp430-libc-20120224/src/libm/fixsfdi.c
Examining data/msp430-libc-20120224/src/libm/sf_signif.c
Examining data/msp430-libc-20120224/src/libm/ef_remainder.c
Examining data/msp430-libc-20120224/src/libm/kf_sin.c
Examining data/msp430-libc-20120224/src/string/strlen.c
Examining data/msp430-libc-20120224/src/string/strcmp.c
Examining data/msp430-libc-20120224/src/string/strcspn.c
Examining data/msp430-libc-20120224/src/string/strncmp.c
Examining data/msp430-libc-20120224/src/string/strncpy.c
Examining data/msp430-libc-20120224/src/string/strncat.c
Examining data/msp430-libc-20120224/src/string/memcmp.c
Examining data/msp430-libc-20120224/src/string/isblank.c
Examining data/msp430-libc-20120224/src/string/strdup.c
Examining data/msp430-libc-20120224/src/string/toascii.c
Examining data/msp430-libc-20120224/src/string/rindex.c
Examining data/msp430-libc-20120224/src/string/strchr.c
Examining data/msp430-libc-20120224/src/string/bcmp.c
Examining data/msp430-libc-20120224/src/string/isspace.c
Examining data/msp430-libc-20120224/src/string/strlcat.c
Examining data/msp430-libc-20120224/src/string/isdigit.c
Examining data/msp430-libc-20120224/src/string/strrchr.c
Examining data/msp430-libc-20120224/src/string/strpbrk.c
Examining data/msp430-libc-20120224/src/string/strspn.c
Examining data/msp430-libc-20120224/src/string/ffs.c
Examining data/msp430-libc-20120224/src/string/memmove.c
Examining data/msp430-libc-20120224/src/string/isalpha.c
Examining data/msp430-libc-20120224/src/string/swab.c
Examining data/msp430-libc-20120224/src/string/bcopy.c
Examining data/msp430-libc-20120224/src/string/memccpy.c
Examining data/msp430-libc-20120224/src/string/bzero.c
Examining data/msp430-libc-20120224/src/string/memset.c
Examining data/msp430-libc-20120224/src/string/toupper.c
Examining data/msp430-libc-20120224/src/string/strlcpy.c
Examining data/msp430-libc-20120224/src/string/strcat.c
Examining data/msp430-libc-20120224/src/string/strncasecmp.c
Examining data/msp430-libc-20120224/src/string/isalnum.c
Examining data/msp430-libc-20120224/src/string/isupper.c
Examining data/msp430-libc-20120224/src/string/isxdigit.c
Examining data/msp430-libc-20120224/src/string/tolower.c
Examining data/msp430-libc-20120224/src/string/strtok.c
Examining data/msp430-libc-20120224/src/string/strcpy.c
Examining data/msp430-libc-20120224/src/string/ispunct.c
Examining data/msp430-libc-20120224/src/string/memchr.c
Examining data/msp430-libc-20120224/src/string/strsep.c
Examining data/msp430-libc-20120224/src/string/strcasecmp.c
Examining data/msp430-libc-20120224/src/string/strstr.c
Examining data/msp430-libc-20120224/src/string/isprint.c
Examining data/msp430-libc-20120224/src/string/isascii.c
Examining data/msp430-libc-20120224/src/string/islower.c
Examining data/msp430-libc-20120224/src/string/memcpy.c
Examining data/msp430-libc-20120224/src/string/iscntrl.c
Examining data/msp430-libc-20120224/src/string/index.c

FINAL RESULTS:

data/msp430-libc-20120224/include/stdio.h:49:28:  [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.
int __attribute__((format (printf, 2, 3))) uprintf(int (*func)(int c), const char *fmt, ...);
data/msp430-libc-20120224/include/stdio.h:50:28:  [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.
int __attribute__((format (printf, 3, 4))) snprintf (char *buf, size_t size, const char *fmt, ...);
data/msp430-libc-20120224/include/stdio.h:50:44:  [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.
int __attribute__((format (printf, 3, 4))) snprintf (char *buf, size_t size, const char *fmt, ...);
data/msp430-libc-20120224/include/stdio.h:51:28:  [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.
int __attribute__((format (printf, 2, 3))) sprintf (char *buf, const char *fmt, ...);
data/msp430-libc-20120224/include/stdio.h:51:44:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
int __attribute__((format (printf, 2, 3))) sprintf (char *buf, const char *fmt, ...);
data/msp430-libc-20120224/include/stdio.h:52:28:  [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.
int __attribute__((format (printf, 1, 2))) printf(const char *string, ...);
data/msp430-libc-20120224/include/stdio.h:52:44:  [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.
int __attribute__((format (printf, 1, 2))) printf(const char *string, ...);
data/msp430-libc-20120224/include/stdio.h:54:5:  [4] (format) vsnprintf:
  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.
int vsnprintf(char *dest, size_t maxlen, const char *string, va_list ap);
data/msp430-libc-20120224/include/stdio.h:55:5:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
int vsprintf(char *dest, const char *string, va_list ap);
data/msp430-libc-20120224/include/stdio.h:56:5:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int vprintf(const char *string, va_list ap);
data/msp430-libc-20120224/include/string.h:45:14:  [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).
extern char *strcat(char *, const char *);
data/msp430-libc-20120224/include/string.h:48:14:  [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).
extern char *strcpy(char *, const char *);
data/msp430-libc-20120224/src/stdlib/printf.c:36:1:  [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 (const char *fmt, ...)
data/msp430-libc-20120224/src/stdlib/printf.c:48:1:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
vprintf (const char *fmt, va_list argp)
data/msp430-libc-20120224/src/stdlib/sprintf.c:72:1:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
sprintf (char *buf, const char *fmt, ...)
data/msp430-libc-20120224/src/stdlib/sprintf.c:83:1:  [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 (char *buf, size_t size, const char *fmt, ...)
data/msp430-libc-20120224/src/stdlib/sprintf.c:94:1:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
vsprintf (char *buf, const char *fmt, va_list argp)
data/msp430-libc-20120224/src/stdlib/sprintf.c:102:1:  [4] (format) vsnprintf:
  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.
vsnprintf (char *buf, size_t size, const char *fmt, va_list argp)
data/msp430-libc-20120224/src/string/strcat.c:32:1:  [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(s, append)
data/msp430-libc-20120224/src/string/strcpy.c:34:1:  [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(to, from)
data/msp430-libc-20120224/include/stdlib.h:108:6:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
void srand(unsigned __seed);
data/msp430-libc-20120224/src/stdlib/rand.c:70:1:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
srand(unsigned int seed)
data/msp430-libc-20120224/src/stdlib/rand.c:83:5:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    srand(0x19610910);
data/msp430-libc-20120224/include/stdlib.h:90:5:  [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).
int atoi(const char *p);
data/msp430-libc-20120224/include/stdlib.h:91:6:  [2] (integer) atol:
  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).
long atol(const char *p);
data/msp430-libc-20120224/include/string.h:42:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
extern void *memcpy(void *, const void *, size_t);
data/msp430-libc-20120224/include/string.h:63:13:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
extern void bcopy(const void *, void *, size_t);
data/msp430-libc-20120224/include/sys/reent.h:140:12:  [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.
  unsigned char _ubuf[3];	/* guarantee an ungetc() buffer */
data/msp430-libc-20120224/include/sys/reent.h:141:12:  [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.
  unsigned char _nbuf[1];	/* guarantee a getc() buffer */
data/msp430-libc-20120224/include/sys/reent.h:199: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 _emergency[25];
data/msp430-libc-20120224/include/sys/reent.h:224:11:  [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 _asctime_buf[26];
data/msp430-libc-20120224/include/sys/reent.h:236:20:  [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.
          unsigned char * _nextf[_N_LISTS];
data/msp430-libc-20120224/src/libm/mathsf.h:37: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.
   unsigned char Bytes[4];
data/msp430-libc-20120224/src/stdlib/atoi.c:6:5:  [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).
int atoi( const char *p)
data/msp430-libc-20120224/src/stdlib/atol.c:6:1:  [2] (integer) atol:
  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).
atol(const char *p)
data/msp430-libc-20120224/src/stdlib/itoa.c:31: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 temp[17];  //an int can only be 16 bits long
data/msp430-libc-20120224/src/stdlib/ltoa.c:31: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 temp[33];  //an int can only be 32 bits long
data/msp430-libc-20120224/src/stdlib/ultoa.c:30: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 temp[33];  //an int can only be 16 bits long
data/msp430-libc-20120224/src/stdlib/utoa.c:30: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 temp[17];  //an int can only be 16 bits long
data/msp430-libc-20120224/src/stdlib/vuprintf.c:126: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 prefix_buffer[MAX_PREFIX_CHARS];
data/msp430-libc-20120224/src/stdlib/vuprintf.c:276: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 buffer[MAX_FORMAT_LENGTH];	// used to print numbers
data/msp430-libc-20120224/src/string/bcopy.c:52:1:  [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(dst0, src0, length)
data/msp430-libc-20120224/src/string/bcopy.c:59:1:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
bcopy(src0, dst0, length)
data/msp430-libc-20120224/src/string/strdup.c:44:5:  [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(copy, str, len);
data/msp430-libc-20120224/src/string/strtok.c:127: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 test[80], blah[80];
data/msp430-libc-20120224/src/string/strtok.c:133:5:  [2] (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 string.
    strcpy(test, "This;is.a:test:of=the/string\\tokenizer-function.");
data/msp430-libc-20120224/src/string/strtok.c:144:5:  [2] (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 string.
    strcpy(test, "This;is.a:test:of=the/string\\tokenizer-function.");
data/msp430-libc-20120224/src/string/strtok.c:150:9:  [2] (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 string.
        strcpy(blah, "blah:blat:blab:blag");
data/msp430-libc-20120224/include/string.h:50:15:  [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).
extern size_t strlen(const char *);
data/msp430-libc-20120224/include/string.h:52:14:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
extern char *strncat(char *, const char *, size_t);
data/msp430-libc-20120224/include/string.h:54:14:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
extern char *strncpy(char *, const char *, size_t) ;
data/msp430-libc-20120224/src/stdlib/vuprintf.c:138: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).
      unsigned int len = strlen (char_p);
data/msp430-libc-20120224/src/string/strdup.c:41:11:  [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(str) + 1;
data/msp430-libc-20120224/src/string/strlcat.c:56: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).
        return(dlen + strlen(s));
data/msp430-libc-20120224/src/string/strlen.c:34:1:  [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).
strlen(str)
data/msp430-libc-20120224/src/string/strncat.c:41:1:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
strncat(dst, src, n)
data/msp430-libc-20120224/src/string/strncpy.c:41:1:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
strncpy(dst, src, n)
data/msp430-libc-20120224/src/string/strstr.c:47:15:  [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(find);

ANALYSIS SUMMARY:

Hits = 58
Lines analyzed = 14189 in approximately 0.45 seconds (31810 lines/second)
Physical Source Lines of Code (SLOC) = 8411
Hits@level = [0]  10 [1]  10 [2]  25 [3]   3 [4]  20 [5]   0
Hits@level+ = [0+]  68 [1+]  58 [2+]  48 [3+]  23 [4+]  20 [5+]   0
Hits/KSLOC@level+ = [0+] 8.08465 [1+] 6.89573 [2+] 5.70681 [3+] 2.73451 [4+] 2.37784 [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.