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/radcli-1.2.11/include/freeradius-client.h
Examining data/radcli-1.2.11/include/includes.h
Examining data/radcli-1.2.11/include/messages.h
Examining data/radcli-1.2.11/include/pathnames.h
Examining data/radcli-1.2.11/include/radcli/radcli.h
Examining data/radcli-1.2.11/include/radiusclient-ng.h
Examining data/radcli-1.2.11/lib/aaa_ctx.c
Examining data/radcli-1.2.11/lib/avpair.c
Examining data/radcli-1.2.11/lib/buildreq.c
Examining data/radcli-1.2.11/lib/config.c
Examining data/radcli-1.2.11/lib/dict.c
Examining data/radcli-1.2.11/lib/hmac.c
Examining data/radcli-1.2.11/lib/hmac.h
Examining data/radcli-1.2.11/lib/ip_util.c
Examining data/radcli-1.2.11/lib/log.c
Examining data/radcli-1.2.11/lib/md5.c
Examining data/radcli-1.2.11/lib/md5.h
Examining data/radcli-1.2.11/lib/nettle-hmac.c
Examining data/radcli-1.2.11/lib/options.h
Examining data/radcli-1.2.11/lib/rc-hmac.h
Examining data/radcli-1.2.11/lib/rc-md5.c
Examining data/radcli-1.2.11/lib/rc-md5.h
Examining data/radcli-1.2.11/lib/sendserver.c
Examining data/radcli-1.2.11/lib/tls.c
Examining data/radcli-1.2.11/lib/tls.h
Examining data/radcli-1.2.11/lib/util.c
Examining data/radcli-1.2.11/lib/util.h
Examining data/radcli-1.2.11/src/common.c
Examining data/radcli-1.2.11/src/common.h
Examining data/radcli-1.2.11/src/radacct.c
Examining data/radcli-1.2.11/src/radembedded.c
Examining data/radcli-1.2.11/src/radembedded_dict.c
Examining data/radcli-1.2.11/src/radexample.c
Examining data/radcli-1.2.11/src/radius.c
Examining data/radcli-1.2.11/src/radiusclient.c
Examining data/radcli-1.2.11/src/radstatus.c
Examining data/radcli-1.2.11/tests/avpair.c
Examining data/radcli-1.2.11/tests/tls-restart.c

FINAL RESULTS:

data/radcli-1.2.11/include/includes.h:48:10:  [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 snprintf(buf, len, format, ...) sprintf(buf, format, __VA_ARGS__)
data/radcli-1.2.11/include/includes.h:48:42:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
# define snprintf(buf, len, format, ...) sprintf(buf, format, __VA_ARGS__)
data/radcli-1.2.11/include/includes.h:51:10:  [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.
# define vsnprintf(buf, len, format, ap) vsprintf(buf, format, ap)
data/radcli-1.2.11/include/includes.h:51:42:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
# define vsnprintf(buf, len, format, ap) vsprintf(buf, format, ap)
data/radcli-1.2.11/include/radcli/radcli.h:652:16:  [4] (format) syslog:
  If syslog's format strings can be influenced by an attacker, they can be
  exploited (CWE-134). Use a constant format string for syslog.
#define rc_log syslog
data/radcli-1.2.11/lib/avpair.c:332:4:  [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(buffer, hex);
data/radcli-1.2.11/lib/avpair.c:666:4:  [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 (pair->name, attr->name);
data/radcli-1.2.11/lib/avpair.c:674:5:  [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 (pair->strvalue, valstr);
data/radcli-1.2.11/lib/avpair.c:961:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
			sprintf(buf + len, "%-32s = '%s'\n", name, value);
data/radcli-1.2.11/lib/dict.c:176:4:  [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 (attr->name, namestr);
data/radcli-1.2.11/lib/dict.c:236:4:  [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 (dval->attrname, attrstr);
data/radcli-1.2.11/lib/dict.c:237:4:  [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 (dval->name, namestr);
data/radcli-1.2.11/lib/dict.c:332:4:  [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 (dvend->vendorname, attrstr);
data/radcli-1.2.11/lib/sendserver.c:106:5:  [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((char *)md5buf, secret);
data/radcli-1.2.11/lib/sendserver.c:488:3:  [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(secret, MGMT_POLL_SECRET);
data/radcli-1.2.11/lib/util.h:62:2:  [4] (format) syslog:
  If syslog's format strings can be influenced by an attacker, they can be
  exploited (CWE-134). Use a constant format string for syslog.
	syslog(prio, "radcli: %s: "fmt, __func__, ##__VA_ARGS__)
data/radcli-1.2.11/lib/util.h:64:18:  [4] (format) syslog:
  If syslog's format strings can be influenced by an attacker, they can be
  exploited (CWE-134). Use a constant format string for syslog.
#  define rc_log syslog
data/radcli-1.2.11/src/radacct.c:136:4:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			fprintf(stdout, SC_ACCT_OK);
data/radcli-1.2.11/src/radacct.c:142:4:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
			fprintf(stdout, SC_ACCT_FAILED, result);
data/radcli-1.2.11/src/radius.c:158:6:  [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(name,buf);
data/radcli-1.2.11/src/radius.c:190: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(SC_SERVER_REPLY, msg);
data/radcli-1.2.11/src/radius.c:192: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(SC_RADIUS_OK);
data/radcli-1.2.11/src/radius.c:204: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(SC_SERVER_REPLY, msg);
data/radcli-1.2.11/src/radius.c:206: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(SC_RADIUS_FAILED);
data/radcli-1.2.11/src/radius.c:221:2:  [4] (shell) execle:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	execle(login_radius, login_radius, NULL, env->env);
data/radcli-1.2.11/src/radstatus.c:103:5:  [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(SC_STATUS_FAILED);
data/radcli-1.2.11/src/radstatus.c:113:5:  [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(SC_STATUS_FAILED);
data/radcli-1.2.11/src/radstatus.c:123:5:  [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(SC_STATUS_FAILED);
data/radcli-1.2.11/include/includes.h:153:10:  [3] (random) srandom:
  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.
# define srandom        srand
data/radcli-1.2.11/include/includes.h:153:25:  [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.
# define srandom        srand
data/radcli-1.2.11/include/includes.h:154:10:  [3] (random) random:
  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.
# define random         rand
data/radcli-1.2.11/lib/buildreq.c:27:25:  [3] (random) random:
  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.
	return (unsigned char)(random() & UCHAR_MAX);
data/radcli-1.2.11/lib/config.c:1120:3:  [3] (random) srandom:
  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.
		srandom((unsigned int)(time(NULL)+getpid()));
data/radcli-1.2.11/lib/sendserver.c:389:12:  [3] (random) random:
  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.
		randno = random();
data/radcli-1.2.11/src/radacct.c:83:14:  [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 ((c = getopt(argc,argv,"f:hV")) > 0)
data/radcli-1.2.11/src/radiusclient.c:70:18:  [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, "Daf:p:sie:")) != -1) {
data/radcli-1.2.11/src/radstatus.c:59:14:  [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 ((c = getopt(argc,argv,"hVf:")) > 0)
data/radcli-1.2.11/tests/tls-restart.c:57: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, "af:p:s")) != -1) {
data/radcli-1.2.11/include/includes.h:212: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	secret[MAX_SECRET_LENGTH + 1]; //!< The secret used for this request
data/radcli-1.2.11/include/radcli/radcli.h:85: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[SERVER_MAX];
data/radcli-1.2.11/include/radcli/radcli.h:87: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 *secret[SERVER_MAX];
data/radcli-1.2.11/include/radcli/radcli.h:427: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[NAME_LENGTH + 1];	//!< attribute name.
data/radcli-1.2.11/include/radcli/radcli.h:435: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               attrname[NAME_LENGTH +1];
data/radcli-1.2.11/include/radcli/radcli.h:436: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[NAME_LENGTH + 1];
data/radcli-1.2.11/include/radcli/radcli.h:443: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               vendorname[NAME_LENGTH +1];
data/radcli-1.2.11/include/radcli/radcli.h:470: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[NAME_LENGTH + 1];	//!< attribute name if known.
data/radcli-1.2.11/include/radcli/radcli.h:474: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               strvalue[AUTH_STRING_LEN + 1]; //!< contains attribute value in other cases.
data/radcli-1.2.11/include/radcli/radcli.h:476: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		   pad[32];			//!< unused pad
data/radcli-1.2.11/lib/avpair.c:147:4:  [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(vp->strvalue, (char const *)pval, len);
data/radcli-1.2.11/lib/avpair.c:162:4:  [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(vp->strvalue, (char const *)pval, len);
data/radcli-1.2.11/lib/avpair.c:171:4:  [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(vp->strvalue, (char const *)pval, len);
data/radcli-1.2.11/lib/avpair.c:278: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 buffer[(AUTH_STRING_LEN * 2) + 1];
data/radcli-1.2.11/lib/avpair.c:280: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 hex[3];
data/radcli-1.2.11/lib/avpair.c:312: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(&lvalue, ptr, 4);
data/radcli-1.2.11/lib/avpair.c:362: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(pair->strvalue, (char *)ptr, (size_t)attrlen);
data/radcli-1.2.11/lib/avpair.c:379: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((char *)&lvalue, (char *)ptr, 4);
data/radcli-1.2.11/lib/avpair.c:388: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(pair->strvalue, (char *)ptr, 16);
data/radcli-1.2.11/lib/avpair.c:397: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(pair->strvalue, (char *)ptr, attrlen);
data/radcli-1.2.11/lib/avpair.c:602: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            attrstr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/avpair.c:603: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            valstr[AUTH_STRING_LEN + 1], *p;
data/radcli-1.2.11/lib/avpair.c:681:21:  [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).
					pair->lvalue = atoi (valstr);
data/radcli-1.2.11/lib/avpair.c:732:26:  [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).
					pair->strvalue[1] = atoi(p);
data/radcli-1.2.11/lib/avpair.c:916:4:  [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(ip, pair->strvalue+2, pair->lvalue-2);
data/radcli-1.2.11/lib/avpair.c:952: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[33], value[256];
data/radcli-1.2.11/lib/avpair.c:1002: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(res, vp->strvalue, 16);
data/radcli-1.2.11/lib/avpair.c:1010:4:  [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, vp->strvalue+2, vp->lvalue-2);
data/radcli-1.2.11/lib/config.c:96:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	*iptr = atoi(p);
data/radcli-1.2.11/lib/config.c:195:49:  [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).
                        serv->port[serv->max] = atoi(q);
data/radcli-1.2.11/lib/config.c:374:9:  [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(rh->config_options, &config_options_default, sizeof(config_options_default));
data/radcli-1.2.11/lib/config.c:582: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 buffer[512], *p;
data/radcli-1.2.11/lib/config.c:599:9:  [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(rh->config_options, &config_options_default, sizeof(config_options_default));
data/radcli-1.2.11/lib/config.c:601:18:  [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).
	if ((configfd = fopen(filename,"r")) == NULL)
data/radcli-1.2.11/lib/config.c:871: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(&tmpaddr, addr, SA_LEN(addr));
data/radcli-1.2.11/lib/config.c:930: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            buffer[128];
data/radcli-1.2.11/lib/config.c:931: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            hostnm[AUTH_ID_LEN + 1];
data/radcli-1.2.11/lib/config.c:974:19:  [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).
		if ((clientfd = fopen (fservers, "r")) == NULL)
data/radcli-1.2.11/lib/dict.c:39: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            dummystr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/dict.c:40: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            namestr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/dict.c:41: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            valstr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/dict.c:42: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            attrstr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/dict.c:43: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            typestr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/dict.c:44: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            optstr[AUTH_ID_LEN];
data/radcli-1.2.11/lib/dict.c:45: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            ifilename[PATH_MAX] = {0};
data/radcli-1.2.11/lib/dict.c:51: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            buffer[256];
data/radcli-1.2.11/lib/dict.c:111:12:  [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).
			value = atoi (valstr);
data/radcli-1.2.11/lib/dict.c:228:12:  [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).
			value = atoi (valstr);
data/radcli-1.2.11/lib/dict.c:323:12:  [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).
			value = atoi (valstr);
data/radcli-1.2.11/lib/dict.c:360:16:  [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).
	if ((dictfd = fopen (filename, "r")) == NULL)
data/radcli-1.2.11/lib/hmac.c:55: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(pad->inner, key, key_len);
data/radcli-1.2.11/lib/hmac.c:56: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(pad->outer, key, key_len);
data/radcli-1.2.11/lib/ip_util.c:167: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(lia, &rh->own_bind_addr, SS_LEN(&rh->own_bind_addr));
data/radcli-1.2.11/lib/ip_util.c:184: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(lia, info->ai_addr, info->ai_addrlen);
data/radcli-1.2.11/lib/md5.c:94:4:  [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(ctx->buffer + have, input, need);
data/radcli-1.2.11/lib/md5.c:111: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(ctx->buffer + have, input, len);
data/radcli-1.2.11/lib/md5.c:119:19:  [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.
MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX *ctx)
data/radcli-1.2.11/lib/options.h:24: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[OPTION_LEN];			//!< name of the option.
data/radcli-1.2.11/lib/sendserver.c:59: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.
	unsigned char passbuf[MAX(AUTH_PASS_LEN, CHAP_VALUE_LENGTH)];
data/radcli-1.2.11/lib/sendserver.c:60: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.
	unsigned char md5buf[256];
data/radcli-1.2.11/lib/sendserver.c:72:4:  [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(buf, &vendor, sizeof(uint32_t));
data/radcli-1.2.11/lib/sendserver.c:100:4:  [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((char *)passbuf, vp->strvalue, (size_t) length);
data/radcli-1.2.11/lib/sendserver.c:107: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((char *)md5buf + secretlen, vector,
data/radcli-1.2.11/lib/sendserver.c:131: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(buf, vp->strvalue, (size_t) length);
data/radcli-1.2.11/lib/sendserver.c:141: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(buf, vp->strvalue, (size_t) length);
data/radcli-1.2.11/lib/sendserver.c:151: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(buf, vp->strvalue, (size_t) length);
data/radcli-1.2.11/lib/sendserver.c:163: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(buf, (char *)&lvalue, sizeof(uint32_t));
data/radcli-1.2.11/lib/sendserver.c:197: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(&dest[*pos], src, len);
data/radcli-1.2.11/lib/sendserver.c:203:44:  [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 int populate_ctx(RC_AAA_CTX ** ctx, char secret[MAX_SECRET_LENGTH + 1],
data/radcli-1.2.11/lib/sendserver.c:212:4:  [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((*ctx)->secret, secret, sizeof((*ctx)->secret));
data/radcli-1.2.11/lib/sendserver.c:213:4:  [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((*ctx)->request_vector, vector,
data/radcli-1.2.11/lib/sendserver.c:251: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.
	unsigned char calc_digest[AUTH_VECTOR_LEN];
data/radcli-1.2.11/lib/sendserver.c:252: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.
	unsigned char reply_digest[AUTH_VECTOR_LEN];
data/radcli-1.2.11/lib/sendserver.c:281: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((char *)reply_digest, (char *)auth->vector, AUTH_VECTOR_LEN);
data/radcli-1.2.11/lib/sendserver.c:282: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((char *)auth->vector, (char *)vector, AUTH_VECTOR_LEN);
data/radcli-1.2.11/lib/sendserver.c:283: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((char *)auth + totallen, secret, secretlen);
data/radcli-1.2.11/lib/sendserver.c:288: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 buf[65];
data/radcli-1.2.11/lib/sendserver.c:295:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
			sprintf(buf + i * 2, "%.2X", ptr[i]);
data/radcli-1.2.11/lib/sendserver.c:305: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 buf[65];
data/radcli-1.2.11/lib/sendserver.c:312:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
			sprintf(buf + i * 2, "%.2X", ptr[i]);
data/radcli-1.2.11/lib/sendserver.c:319: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 buf[65];
data/radcli-1.2.11/lib/sendserver.c:326:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
			sprintf(buf + i * 2, "%.2X", ptr[i]);
data/radcli-1.2.11/lib/sendserver.c:366:12:  [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).
	if ((fd = open(_PATH_DEV_URANDOM, O_RDONLY)) >= 0) {
data/radcli-1.2.11/lib/sendserver.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((char *)vector, (char *)&randno, sizeof(int));
data/radcli-1.2.11/lib/sendserver.c:427: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(&msg_auth[2], digest, MD5_DIGEST_SIZE);
data/radcli-1.2.11/lib/sendserver.c:460: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 secret[MAX_SECRET_LENGTH + 1];
data/radcli-1.2.11/lib/sendserver.c:461: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.
	unsigned char vector[AUTH_VECTOR_LEN];
data/radcli-1.2.11/lib/sendserver.c:659: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(&auth->length, &tlen, sizeof(uint16_t));
data/radcli-1.2.11/lib/sendserver.c:663: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((char *)auth + total_length, secret, secretlen);
data/radcli-1.2.11/lib/sendserver.c:666: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((char *)auth->vector, (char *)vector, AUTH_VECTOR_LEN);
data/radcli-1.2.11/lib/sendserver.c:669: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((char *)auth->vector, (char *)vector, AUTH_VECTOR_LEN);
data/radcli-1.2.11/lib/sendserver.c:682: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 our_addr_txt[50] = "";	/* hold a text IP */
data/radcli-1.2.11/lib/sendserver.c:683: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 auth_addr_txt[50] = "";	/* hold a text IP */
data/radcli-1.2.11/lib/sendserver.c:788: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 radius_server_ip[128];
data/radcli-1.2.11/lib/tls.c:56: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 hostname[256];	/* server's hostname */
data/radcli-1.2.11/lib/tls.c:274: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(&ses->our_sockaddr, our_sockaddr, sizeof(*our_sockaddr));
data/radcli-1.2.11/lib/tls.c:421: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(&st->ctx, &tmps, sizeof(tmps));
data/radcli-1.2.11/lib/tls.c:543: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 hostname[256];	/* server's hostname */
data/radcli-1.2.11/lib/tls.c:644: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 username[64];
data/radcli-1.2.11/lib/util.c:58: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).
	tm->tm_mday = atoi (&valstr[4]);
data/radcli-1.2.11/lib/util.c:61: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).
	tm->tm_year = atoi (&valstr[7]) - 1900;
data/radcli-1.2.11/lib/util.c:96:10:  [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 buf[15];
data/radcli-1.2.11/lib/util.c:172: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 sock_nsnet[NSNET_SZ];
data/radcli-1.2.11/lib/util.c:185:27:  [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).
        *prev_ns_handle = open(crt_nsnet, O_RDONLY);
data/radcli-1.2.11/lib/util.c:190:22:  [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).
        sock_ns_fd = open(sock_nsnet, O_RDONLY);
data/radcli-1.2.11/src/common.c:43: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	buf[GETSTR_LENGTH];
data/radcli-1.2.11/src/radacct.c:43:8:  [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[1024], *q;
data/radcli-1.2.11/src/radembedded.c:24: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		username[255] = "bob@somedomain.here";
data/radcli-1.2.11/src/radembedded.c:25: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		callfrom[255] = "8475551212";
data/radcli-1.2.11/src/radembedded.c:26: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		callto[255] = "8479630116";
data/radcli-1.2.11/src/radembedded.c:27: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		myuuid[255] = "981743-asdf-90834klj234";
data/radcli-1.2.11/src/radembedded_dict.c:20: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		username[255] = "bob@somedomain.here";
data/radcli-1.2.11/src/radembedded_dict.c:21: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		callfrom[255] = "8475551212";
data/radcli-1.2.11/src/radembedded_dict.c:22: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		callto[255] = "8479630116";
data/radcli-1.2.11/src/radembedded_dict.c:23: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		myuuid[255] = "981743-asdf-90834klj234";
data/radcli-1.2.11/src/radexample.c:18: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		username[128];
data/radcli-1.2.11/src/radexample.c:19: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            passwd[AUTH_PASS_LEN + 1];
data/radcli-1.2.11/src/radexample.c:30:2:  [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(username, "my-username");
data/radcli-1.2.11/src/radexample.c:31:2:  [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(passwd, "my-password");
data/radcli-1.2.11/src/radexample.c:58: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 name[128];
data/radcli-1.2.11/src/radexample.c:59: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 value[128];
data/radcli-1.2.11/src/radius.c:23: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 		msg[PW_MAX_MSG_SIZE], *p, username_realm[256];
data/radcli-1.2.11/src/radius.c:24: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[2048], value[2048]; /* more than enough */
data/radcli-1.2.11/src/radius.c:137:4:  [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(name, "RADIUS_");
data/radcli-1.2.11/src/radius.c:156:6:  [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[10];
data/radcli-1.2.11/src/radiusclient.c:59: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 lbuf[4096];
data/radcli-1.2.11/src/radiusclient.c:80:24:  [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).
            nas_port = atoi(optarg);
data/radcli-1.2.11/src/radiusclient.c:184:21:  [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(lbuf, cp, len);
data/radcli-1.2.11/src/radiusclient.c:210: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 buf[BUF_LEN];
data/radcli-1.2.11/src/radstatus.c:48: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, msg[PW_MAX_MSG_SIZE];
data/radcli-1.2.11/src/radstatus.c:98:49:  [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).
				result = rc_check(rh, argv[i],FIX_ME_SECRET,atoi(p+1), msg);
data/radcli-1.2.11/tests/tls-restart.c:50: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 lbuf[4096];
data/radcli-1.2.11/tests/tls-restart.c:64:15:  [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).
			nas_port = atoi(optarg);
data/radcli-1.2.11/tests/tls-restart.c:128: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(lbuf, cp, len);
data/radcli-1.2.11/tests/tls-restart.c: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 msg[PW_MAX_MSG_SIZE];
data/radcli-1.2.11/tests/tls-restart.c: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 buf[BUF_LEN];
data/radcli-1.2.11/lib/avpair.c:142:21:  [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 = (uint32_t)strlen((char const *)pval);
data/radcli-1.2.11/lib/avpair.c:675: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).
				pair->lvalue = (uint32_t)strlen(valstr);
data/radcli-1.2.11/lib/avpair.c:959: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).
		nlen = len + 32 + 3 + strlen(value) + 2 + 2;
data/radcli-1.2.11/lib/config.c:194: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(q && strlen(q) > 0) {
data/radcli-1.2.11/lib/config.c:617:5:  [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).
		p[strlen(p)-1] = '\0';
data/radcli-1.2.11/lib/config.c:646: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).
		pos = strlen(p) - 1;
data/radcli-1.2.11/lib/config.c:955:31:  [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    server_name_len = strlen(server_name);
data/radcli-1.2.11/lib/dict.c:84:8:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
			if (sscanf (buffer, "%63s%63s%63s%63s%63s", dummystr, namestr,
data/radcli-1.2.11/lib/dict.c:96: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 (namestr) > NAME_LENGTH)
data/radcli-1.2.11/lib/dict.c:193:8:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
			if (sscanf (buffer, "%63s%63s%63s%63s", dummystr, attrstr,
data/radcli-1.2.11/lib/dict.c:205: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 (attrstr) > NAME_LENGTH)
data/radcli-1.2.11/lib/dict.c:213: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 (namestr) > NAME_LENGTH)
data/radcli-1.2.11/lib/dict.c:248:8:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
			if (sscanf (buffer, "%63s%63s", dummystr, namestr) != 2)
data/radcli-1.2.11/lib/dict.c:255:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
			strncpy(ifilename, namestr, sizeof(ifilename));
data/radcli-1.2.11/lib/dict.c:278:8:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
			if (sscanf (buffer+12, "%63s", dummystr) != 1)
data/radcli-1.2.11/lib/dict.c:299:8:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
			if (sscanf (buffer, "%63s%63s%63s", dummystr, attrstr, valstr) != 3)
data/radcli-1.2.11/lib/dict.c:308: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 (attrstr) > NAME_LENGTH)
data/radcli-1.2.11/lib/sendserver.c:102: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).
			secretlen = strlen(secret);
data/radcli-1.2.11/lib/sendserver.c:187:17:  [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 len = strlen(src) + 1;
data/radcli-1.2.11/lib/sendserver.c:258:19:  [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).
	secretlen = (int)strlen(secret);
data/radcli-1.2.11/lib/sendserver.c:373:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			readcount = read(fd, (char *)pos, i);
data/radcli-1.2.11/lib/sendserver.c:416:21:  [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 secretlen = strlen(secret);
data/radcli-1.2.11/lib/sendserver.c:662: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).
		secretlen = strlen(secret);
data/radcli-1.2.11/lib/tls.c:323:21:  [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).
			       hostname, strlen(hostname));
data/radcli-1.2.11/lib/tls.c:677:17:  [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).
		hexkey.size = strlen(p);
data/radcli-1.2.11/src/common.c:78:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			while (read(in, &c, 1) > 0)
data/radcli-1.2.11/src/common.c:87: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 (write(out, prompt, strlen(prompt)) == -1) {
data/radcli-1.2.11/src/common.c:97:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (read(in, &c, 1) <= 0)
data/radcli-1.2.11/src/common.c:140:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			while (read(in, &c, 1) > 0)
data/radcli-1.2.11/src/radius.c:96:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	 strncpy(username_realm, username, sizeof(username_realm));
data/radcli-1.2.11/src/radius.c:104:3:  [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. Risk is low because the source is a
  constant character.
		strncat(username_realm, "@", sizeof(username_realm)-strlen(username_realm)-1);
data/radcli-1.2.11/src/radius.c:104:55:  [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).
		strncat(username_realm, "@", sizeof(username_realm)-strlen(username_realm)-1);
data/radcli-1.2.11/src/radius.c:105:3:  [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(username_realm, default_realm, sizeof(username_realm)-strlen(username_realm)-1);
data/radcli-1.2.11/src/radius.c:105:65:  [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).
		strncat(username_realm, default_realm, sizeof(username_realm)-strlen(username_realm)-1);

ANALYSIS SUMMARY:

Hits = 208
Lines analyzed = 8939 in approximately 0.28 seconds (31650 lines/second)
Physical Source Lines of Code (SLOC) = 6090
Hits@level = [0] 115 [1]  34 [2] 136 [3]  10 [4]  28 [5]   0
Hits@level+ = [0+] 323 [1+] 208 [2+] 174 [3+]  38 [4+]  28 [5+]   0
Hits/KSLOC@level+ = [0+] 53.0378 [1+] 34.1544 [2+] 28.5714 [3+] 6.23974 [4+] 4.5977 [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.