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/sipcalc-1.1.6/src/sub.c
Examining data/sipcalc-1.1.6/src/interface.c
Examining data/sipcalc-1.1.6/src/sub-output.c
Examining data/sipcalc-1.1.6/src/sub-func.c
Examining data/sipcalc-1.1.6/include/sub.h
Examining data/sipcalc-1.1.6/include/sub-o.h

FINAL RESULTS:

data/sipcalc-1.1.6/include/sub.h:81:41:  [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.
#define safe_snprintf(dest,whatever...) snprintf(dest,sizeof(dest),## whatever)
data/sipcalc-1.1.6/src/sub.c:742:3:  [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.
		getopt_long (argc, argv, "abcdehHiI:n:rs:S:tuvVwx4:6:", l_o,
data/sipcalc-1.1.6/src/sub.c:745:15:  [3] (buffer) getopt:
  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.
	while ((ch = getopt (argc, argv, "abcdehHiI:n:rs:S:tuvVwx4:6:")) != -1) {
data/sipcalc-1.1.6/include/sub.h:102: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 class_remark[64];
data/sipcalc-1.1.6/include/sub.h:103: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 pres_bitmap[36];
data/sipcalc-1.1.6/include/sub.h:123: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 class_remark[64];
data/sipcalc-1.1.6/include/sub.h:124: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 comment[64];
data/sipcalc-1.1.6/include/sub.h:136: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[IFNAMSIZ + 1];
data/sipcalc-1.1.6/include/sub.h:137: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 p_v4addr[19], p_v4nmask[16];
data/sipcalc-1.1.6/include/sub.h:138: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 p_v6addr[44];
data/sipcalc-1.1.6/include/sub.h: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 errorstr[64];
data/sipcalc-1.1.6/include/sub.h: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 cmdstr[128];
data/sipcalc-1.1.6/include/sub.h:156: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 ipv6addr[40];
data/sipcalc-1.1.6/include/sub.h:157: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 ipv4addr[16];
data/sipcalc-1.1.6/include/sub.h:158: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 nmask[4];
data/sipcalc-1.1.6/include/sub.h:162: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[128];
data/sipcalc-1.1.6/include/sub.h:169: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[128];
data/sipcalc-1.1.6/src/sub-func.c:75: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[16];
data/sipcalc-1.1.6/src/sub-func.c:126:7:  [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).
		m = atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:145: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 addr[16];
data/sipcalc-1.1.6/src/sub-func.c:236:6:  [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).
	m = atoi (sl);
data/sipcalc-1.1.6/src/sub-func.c:255:7:  [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).
		y = atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:296:6:  [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).
	y = atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:308: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[128];
data/sipcalc-1.1.6/src/sub-func.c:323:7:  [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).
		z = atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:344:9:  [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 char quad[17];
data/sipcalc-1.1.6/src/sub-func.c:357:9:  [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 char bitmap[36];
data/sipcalc-1.1.6/src/sub-func.c: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 buf[128], buf2[128];
data/sipcalc-1.1.6/src/sub-func.c:432:28:  [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).
			ifi->v4ad.n_nmaskbits = atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:733: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[5];
data/sipcalc-1.1.6/src/sub-func.c:850: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[128];
data/sipcalc-1.1.6/src/sub-func.c:878:20:  [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).
				    (n << 8) | atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:882:20:  [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).
				    (n << 8) | atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:884:8:  [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).
			n = atoi (buf);
data/sipcalc-1.1.6/src/sub-func.c:910:16:  [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).
		*nmaskbits = atoi (nmask);
data/sipcalc-1.1.6/src/sub-func.c:1090:9:  [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 char outad[44];
data/sipcalc-1.1.6/src/sub-func.c:1091: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 tmpad[5];
data/sipcalc-1.1.6/src/sub-func.c:1181:6:  [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).
	x = atoi (spstr.nmask);
data/sipcalc-1.1.6/src/sub-func.c:1235:9:  [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 char retaddr[1024];
data/sipcalc-1.1.6/src/sub-func.c:1274:9:  [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 char retaddr[1024];
data/sipcalc-1.1.6/src/sub-func.c:1275: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 ip6addr[128];
data/sipcalc-1.1.6/src/sub-func.c:1318:9:  [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 char retaddr[1024];
data/sipcalc-1.1.6/src/sub-func.c:1319: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 ip6addr[128];
data/sipcalc-1.1.6/src/sub-func.c:1370:9:  [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 char retaddr[1024];
data/sipcalc-1.1.6/src/sub-func.c:1371: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 ip6addr[128];
data/sipcalc-1.1.6/src/sub-func.c:1423: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 extra[32];
data/sipcalc-1.1.6/src/sub-func.c:1425: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 raddr[1024];
data/sipcalc-1.1.6/src/sub-func.c:1426:9:  [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 char retaddr[1024];
data/sipcalc-1.1.6/src/sub-output.c:122: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 ((struct if_info *) &ifi_tmp, (struct if_info *) ifi, sizeof(struct if_info));
data/sipcalc-1.1.6/src/sub-output.c:447: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 inbuf[40], outbuf[256];
data/sipcalc-1.1.6/src/sub-output.c:626: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 ((struct if_info *) &ifi_tmp, (struct if_info *) ifi, sizeof(struct if_info));
data/sipcalc-1.1.6/src/sub.c:194: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], sbuf[128], dbuf[128], *arg1, *arg2;
data/sipcalc-1.1.6/src/sub.c:306: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 expaddr[128];
data/sipcalc-1.1.6/src/sub.c:542:6:  [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 ((struct if_info *) ifarg_cur, (struct if_info *) if_cur, sizeof (struct if_info));
data/sipcalc-1.1.6/src/sub.c:566:6:  [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 ((struct if_info *) ifarg_cur, (struct if_info *) if_cur, sizeof (struct if_info));
data/sipcalc-1.1.6/src/sub.c:631:7:  [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 ((struct if_info *) ifarg_cur, (struct if_info *) if_cur, sizeof (struct if_info));
data/sipcalc-1.1.6/src/sub.c:675: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 expaddr[128];
data/sipcalc-1.1.6/src/sub.c:676: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 oldcmdstr[128];
data/sipcalc-1.1.6/src/sub.c:678: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 *stdinarg[3];
data/sipcalc-1.1.6/src/sub.c:778:22:  [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).
			m_argv4.numnets = atoi (optarg);
data/sipcalc-1.1.6/src/sub.c:961: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.
			bzero ((char *) stdinarg[x], 128);
data/sipcalc-1.1.6/include/sub.h:79:32:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define safe_strncpy(dest,src) strncpy(dest,src,sizeof(dest)-1+TERMINATE(dest)*0)
data/sipcalc-1.1.6/include/sub.h:80:32:  [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.
#define safe_strncat(dest,src) strncat(dest,src,sizeof(dest)-1+TERMINATE(dest)*0)
data/sipcalc-1.1.6/src/interface.c:180:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy (if_cur->name, ifr->ifr_name, IFNAMSIZ);
data/sipcalc-1.1.6/src/sub-func.c:60: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).
	for (x = 0; x < strlen (buf); x++)
data/sipcalc-1.1.6/src/sub-func.c:77: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 (addr) < 7 || strlen (addr) > 15)
data/sipcalc-1.1.6/src/sub-func.c:77:27:  [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 (addr) < 7 || strlen (addr) > 15)
data/sipcalc-1.1.6/src/sub-func.c:82:13:  [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).
	while (x < strlen (addr)) {
data/sipcalc-1.1.6/src/sub-func.c:92:13:  [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).
	while (x < strlen (addr)) {
data/sipcalc-1.1.6/src/sub-func.c:95:14:  [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).
		while (z < strlen (V4ADDR_VAL) && !y) {
data/sipcalc-1.1.6/src/sub-func.c:105:29:  [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 (addr[0] == '.' || addr[strlen (addr) - 1] == '.')
data/sipcalc-1.1.6/src/sub-func.c:109:14:  [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).
	while (x < (strlen (addr) - 1)) {
data/sipcalc-1.1.6/src/sub-func.c:119: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).
		while (addr[y] != '.' && y < strlen (addr)) {
data/sipcalc-1.1.6/src/sub-func.c:149: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 (in_addr) > 18)
data/sipcalc-1.1.6/src/sub-func.c:155:13:  [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).
	while (x < strlen (in_addr) && !y) {
data/sipcalc-1.1.6/src/sub-func.c:215: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 (sl) < 1 || strlen (sl) > 2)
data/sipcalc-1.1.6/src/sub-func.c:215:25:  [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 (sl) < 1 || strlen (sl) > 2)
data/sipcalc-1.1.6/src/sub-func.c:223:13:  [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).
	while (x < strlen (sl)) {
data/sipcalc-1.1.6/src/sub-func.c:226:14:  [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).
		while (z < strlen (V4ADDR_VAL) && !y) {
data/sipcalc-1.1.6/src/sub-func.c:249: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 (buf) < 1)
data/sipcalc-1.1.6/src/sub-func.c:252: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 (buf) < 4) {
data/sipcalc-1.1.6/src/sub-func.c:289: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 (buf) < 1)
data/sipcalc-1.1.6/src/sub-func.c:291: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 (buf) > 4)
data/sipcalc-1.1.6/src/sub-func.c:329:51:  [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).
		while (quad[x] != '.' && quad[x] != '\0' && x < strlen (quad)) {
data/sipcalc-1.1.6/src/sub-func.c:406: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 (s_find) > 2)
data/sipcalc-1.1.6/src/sub-func.c:411: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).
			while (x < strlen (s_find)) {
data/sipcalc-1.1.6/src/sub-func.c:414: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).
				while (z < strlen (NETMASK_VAL) && !y) {
data/sipcalc-1.1.6/src/sub-func.c:584: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 (split) > 1 && strlen (split) < 5) {
data/sipcalc-1.1.6/src/sub-func.c:584:29:  [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 (split) > 1 && strlen (split) < 5) {
data/sipcalc-1.1.6/src/sub-func.c:594: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).
		x = strlen (split);
data/sipcalc-1.1.6/src/sub-func.c:597: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).
		y = strlen (split);
data/sipcalc-1.1.6/src/sub-func.c:605: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).
		x = strlen (addr) - strlen (split);
data/sipcalc-1.1.6/src/sub-func.c:605: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).
		x = strlen (addr) - strlen (split);
data/sipcalc-1.1.6/src/sub-func.c:611: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).
			y = strlen (addr) - strlen (split);
data/sipcalc-1.1.6/src/sub-func.c:611:24:  [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).
			y = strlen (addr) - strlen (split);
data/sipcalc-1.1.6/src/sub-func.c:613: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).
			y = strlen (addr);
data/sipcalc-1.1.6/src/sub-func.c:620: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).
	x = strlen (addr) - (strlen (spstr->ipv4addr) + strlen (spstr->nmask));
data/sipcalc-1.1.6/src/sub-func.c:620: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).
	x = strlen (addr) - (strlen (spstr->ipv4addr) + strlen (spstr->nmask));
data/sipcalc-1.1.6/src/sub-func.c:620:50:  [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).
	x = strlen (addr) - (strlen (spstr->ipv4addr) + strlen (spstr->nmask));
data/sipcalc-1.1.6/src/sub-func.c:621: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 (spstr->nmask) > 0)
data/sipcalc-1.1.6/src/sub-func.c:624:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy (spstr->ipv6addr, addr, x);
data/sipcalc-1.1.6/src/sub-func.c:636: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 (addr) < 2)
data/sipcalc-1.1.6/src/sub-func.c:639: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 (addr) > 39)
data/sipcalc-1.1.6/src/sub-func.c:644:13:  [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).
	while (x < strlen (addr)) {
data/sipcalc-1.1.6/src/sub-func.c:647:14:  [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).
		while (z < strlen (V6ADDR_VAL) && !y) {
data/sipcalc-1.1.6/src/sub-func.c:659:13:  [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).
	while (x < strlen (addr)) {
data/sipcalc-1.1.6/src/sub-func.c:672:38:  [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 (type == V6TYPE_STANDARD && addr[strlen (addr) - 1] == ':'
data/sipcalc-1.1.6/src/sub-func.c:673:14:  [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).
	    && addr[strlen (addr) - 2] != ':')
data/sipcalc-1.1.6/src/sub-func.c:677: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).
	for (x = 0; x < strlen (addr); x++) {
data/sipcalc-1.1.6/src/sub-func.c:684:13:  [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).
	while (x < strlen (addr) - 1) {
data/sipcalc-1.1.6/src/sub-func.c:710: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).
	for (x = 0; x < strlen (addr); x++) {
data/sipcalc-1.1.6/src/sub-func.c:742:13:  [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).
	while (x < strlen (addr) - 1) {
data/sipcalc-1.1.6/src/sub-func.c:751:14:  [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).
		while (x < strlen (addr) - 1) {
data/sipcalc-1.1.6/src/sub-func.c:760:14:  [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).
		while (x < strlen (addr)) {
data/sipcalc-1.1.6/src/sub-func.c:765:12:  [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 (addr[strlen (addr) - 1] == ':'
data/sipcalc-1.1.6/src/sub-func.c:766: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).
		    && addr[strlen (addr) - 2] != ':')
data/sipcalc-1.1.6/src/sub-func.c:781:14:  [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).
		while (y < strlen (addr) && addr[y] != ':') {
data/sipcalc-1.1.6/src/sub-func.c:800: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).
			while (y < strlen (addr) && addr[y] != ':') {
data/sipcalc-1.1.6/src/sub-func.c:813: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).
			while (y < strlen (addr) - 1) {
data/sipcalc-1.1.6/src/sub-func.c:829: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).
			while (y < strlen (addr) && addr[y] != ':') {
data/sipcalc-1.1.6/src/sub-func.c:890: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).
			       && x < strlen (spstr.ipv4addr)) {
data/sipcalc-1.1.6/src/sub-func.c:1168:13:  [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).
	while (x < strlen (spstr.nmask)) {
data/sipcalc-1.1.6/src/sub-func.c:1171:14:  [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).
		while (z < strlen (NETMASK_VAL) && !y) {
data/sipcalc-1.1.6/src/sub-func.c:1473: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 (addr) > 1023)
data/sipcalc-1.1.6/src/sub-func.c:1487:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy (raddr, addr, strlen (addr) - strlen (tmpstr));
data/sipcalc-1.1.6/src/sub-func.c:1487:25:  [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).
		strncpy (raddr, addr, strlen (addr) - strlen (tmpstr));
data/sipcalc-1.1.6/src/sub-func.c:1487:41:  [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).
		strncpy (raddr, addr, strlen (addr) - strlen (tmpstr));
data/sipcalc-1.1.6/src/sub-func.c:1493:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
			strncpy (raddr, addr, strlen (addr) - strlen (tmpstr));
data/sipcalc-1.1.6/src/sub-func.c:1493: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).
			strncpy (raddr, addr, strlen (addr) - strlen (tmpstr));
data/sipcalc-1.1.6/src/sub-func.c:1493:42:  [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).
			strncpy (raddr, addr, strlen (addr) - strlen (tmpstr));
data/sipcalc-1.1.6/src/sub-output.c:464:12:  [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).
	for (x = (strlen (inbuf) - 1); x >= 0; x--) {
data/sipcalc-1.1.6/src/sub.c:147: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).
	for (x = 0; x < strlen (sbuf); x++) {
data/sipcalc-1.1.6/src/sub.c:155: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).
	x = strlen (sbuf) - 1;
data/sipcalc-1.1.6/src/sub.c:160: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 (sbuf))
data/sipcalc-1.1.6/src/sub.c:165:13:  [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).
	while (x < strlen (sbuf)) {
data/sipcalc-1.1.6/src/sub.c:170: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).
		while (sbuf[x] == ' ' && x < strlen (sbuf))
data/sipcalc-1.1.6/src/sub.c:172: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).
		while (sbuf[x] != ' ' && x < strlen (sbuf)) {
data/sipcalc-1.1.6/src/sub.c:180: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).
	if (dbuf[strlen (dbuf) - 1] == ' ')
data/sipcalc-1.1.6/src/sub.c:181: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).
		dbuf[strlen (dbuf) - 1] = '\0';
data/sipcalc-1.1.6/src/sub.c:184: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).
	for (x = 0; x < strlen (dbuf); x++)
data/sipcalc-1.1.6/src/sub.c:212:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			x = read (0, buf, 1);
data/sipcalc-1.1.6/src/sub.c:226:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			x = read (0, buf, 1);
data/sipcalc-1.1.6/src/sub.c:249:13:  [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).
	while (y < strlen (dbuf) && y < argmax && dbuf[y] != ' ') {
data/sipcalc-1.1.6/src/sub.c:255:13:  [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).
	while (y < strlen (dbuf) && z < 15 && dbuf[y] != ' ') {
data/sipcalc-1.1.6/src/sub.c:261:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy (args[0], arg1, 127);
data/sipcalc-1.1.6/src/sub.c:262:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy (args[1], arg2, 127);
data/sipcalc-1.1.6/src/sub.c:322: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 (argv[argcount]) > sizeof(expaddr)-1) {
data/sipcalc-1.1.6/src/sub.c:436:27:  [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 (tmpstr != NULL && (strlen (tmpstr) > 0)) {
data/sipcalc-1.1.6/src/sub.c:439:46:  [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).
				while (x < 15 && tmpstr[x] != ' ' && x < strlen(tmpstr)) {
data/sipcalc-1.1.6/src/sub.c:465:29:  [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 (tmpstr != NULL && (strlen (tmpstr) > 0)) {
data/sipcalc-1.1.6/src/sub.c:468:48:  [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).
						while (x < 15 && tmpstr[x] != ' ' && x < strlen(tmpstr)) {
data/sipcalc-1.1.6/src/sub.c:550:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
				strncpy (ifarg_cur->name, abox->str, IFNAMSIZ);
data/sipcalc-1.1.6/src/sub.c:574:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
				strncpy (ifarg_cur->name, abox->str, IFNAMSIZ);
data/sipcalc-1.1.6/src/sub.c:599: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 (tmpstr != NULL && (strlen (tmpstr) > 0)) {
data/sipcalc-1.1.6/src/sub.c:602:49:  [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).
							while (x < 15 && tmpstr[x] != ' ' && x < strlen(tmpstr)) {
data/sipcalc-1.1.6/src/sub.c:940: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 (ifarg_cur->cmdstr) > 0) {
data/sipcalc-1.1.6/src/sub.c:995:10:  [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 (ifarg_cur->cmdstr) > 0) {

ANALYSIS SUMMARY:

Hits = 157
Lines analyzed = 3937 in approximately 0.12 seconds (31940 lines/second)
Physical Source Lines of Code (SLOC) = 3146
Hits@level = [0] 241 [1]  96 [2]  58 [3]   2 [4]   1 [5]   0
Hits@level+ = [0+] 398 [1+] 157 [2+]  61 [3+]   3 [4+]   1 [5+]   0
Hits/KSLOC@level+ = [0+] 126.51 [1+] 49.9046 [2+] 19.3897 [3+] 0.953592 [4+] 0.317864 [5+]   0
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.