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/r-cran-rsclient-0.7-3/src/qap.h
Examining data/r-cran-rsclient-0.7-3/src/sbthread.h
Examining data/r-cran-rsclient-0.7-3/src/qap_encode.c
Examining data/r-cran-rsclient-0.7-3/src/RSprotocol.h
Examining data/r-cran-rsclient-0.7-3/src/cli.c
Examining data/r-cran-rsclient-0.7-3/src/qap_decode.c
Examining data/r-cran-rsclient-0.7-3/src/qap_decode.h

FINAL RESULTS:

data/r-cran-rsclient-0.7-3/src/cli.c:278: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(sau.sun_path, host);
data/r-cran-rsclient-0.7-3/src/qap_encode.c:272: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(st, cv);
data/r-cran-rsclient-0.7-3/src/qap_encode.c:331: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((char*)buf, val);
data/r-cran-rsclient-0.7-3/src/cli.c:202: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 port_s[8];
data/r-cran-rsclient-0.7-3/src/cli.c:370: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(c->send_buf + c->send_len, cb, ts);
data/r-cran-rsclient-0.7-3/src/cli.c:377: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(c->send_buf + c->send_len, cb, len);
data/r-cran-rsclient-0.7-3/src/cli.c:405: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.
static char slurp_buffer[65536];
data/r-cran-rsclient-0.7-3/src/cli.c:434: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 idstr[32];
data/r-cran-rsclient-0.7-3/src/cli.c:506: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(slurp_buffer, idstr + sizeof(struct phdr), sb_len);
data/r-cran-rsclient-0.7-3/src/cli.c:1074:17:  [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 unsigned char secauth_buf[65536];
data/r-cran-rsclient-0.7-3/src/cli.c:1125: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(secauth_buf, r, l + 4);
data/r-cran-rsclient-0.7-3/src/cli.c:1131: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(secauth_buf + l + 8, ak, al);
data/r-cran-rsclient-0.7-3/src/cli.c:1136: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(secauth_buf + l + 8, RAW(auth), al);
data/r-cran-rsclient-0.7-3/src/cli.c:1219: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 idstr[32];    
data/r-cran-rsclient-0.7-3/src/qap.h:23:23:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define fixdcpy(A, B) memcpy(A, B, 8)
data/r-cran-rsclient-0.7-3/src/qap_decode.c:18:23:  [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 const unsigned char NaStringRepresentation[2] = { 255, 0 };
data/r-cran-rsclient-0.7-3/src/qap_decode.c:73: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(INTEGER(val), b, l * sizeof(int));
data/r-cran-rsclient-0.7-3/src/qap_decode.c:105: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(REAL(val), b, sizeof(double) * l);
data/r-cran-rsclient-0.7-3/src/qap_decode.c:122: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(COMPLEX(val), b, sizeof(*COMPLEX(val)) * l);
data/r-cran-rsclient-0.7-3/src/qap_decode.c:171: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(RAW(val), (b + 1), i);
data/r-cran-rsclient-0.7-3/src/qap_encode.c:28:23:  [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 const unsigned char NaStringRepresentation[2] = { 255, 0 };
data/r-cran-rsclient-0.7-3/src/qap_encode.c:190: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(buf, REAL(x), sizeof(double) * LENGTH(x));
data/r-cran-rsclient-0.7-3/src/qap_encode.c:208: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(buf, COMPLEX(x), LENGTH(x) * sizeof(*COMPLEX(x)));
data/r-cran-rsclient-0.7-3/src/qap_encode.c:228:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		if (ll) memcpy(buf, RAW(x), ll);
data/r-cran-rsclient-0.7-3/src/qap_encode.c:300: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(buf, iptr, n * sizeof(int));
data/r-cran-rsclient-0.7-3/src/sbthread.h:22: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(m,&lm,sizeof(pthread_mutex_t));
data/r-cran-rsclient-0.7-3/src/sbthread.h:56: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 mtxn[64],*c;
data/r-cran-rsclient-0.7-3/src/sbthread.h:59:3:  [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(mtxn,"sbthread_mutex");
data/r-cran-rsclient-0.7-3/src/sbthread.h:73: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(&mtxn[i],&m,sizeof(m));
data/r-cran-rsclient-0.7-3/src/sbthread.h:75:23:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  c=(char*)malloc(i); memcpy(c,mtxn,i);
data/r-cran-rsclient-0.7-3/src/sbthread.h:88: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(&m[i],&h,sizeof(h));
data/r-cran-rsclient-0.7-3/src/cli.c:274: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(host) + 1 > sizeof(sau.sun_path)) {
data/r-cran-rsclient-0.7-3/src/cli.c:480: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).
	hdr.len = itop(strlen(proxy_target) + 1);
data/r-cran-rsclient-0.7-3/src/cli.c:484: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).
	rsc_write(c, proxy_target, strlen(proxy_target) + 1);
data/r-cran-rsclient-0.7-3/src/cli.c:971: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).
    pll = strlen(pl);
data/r-cran-rsclient-0.7-3/src/cli.c:1056: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).
    hdr.len = strlen(key_type) + 5;
data/r-cran-rsclient-0.7-3/src/cli.c:1060: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).
    par = SET_PAR(DT_STRING, strlen(key_type) + 1);
data/r-cran-rsclient-0.7-3/src/cli.c:1063:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    rsc_write(c, key_type, strlen(key_type) + 1);
data/r-cran-rsclient-0.7-3/src/cli.c:1128: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).
	al = strlen(ak) + 1;
data/r-cran-rsclient-0.7-3/src/qap_encode.c:86: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).
				rlen_t sl = strlen(ct) + 1L;				
data/r-cran-rsclient-0.7-3/src/qap_encode.c:266: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).
			rlen_t l = strlen(cv);
data/r-cran-rsclient-0.7-3/src/qap_encode.c:332: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).
		sl = strlen((char*)buf); sl++;
data/r-cran-rsclient-0.7-3/src/sbthread.h:86: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).
  i=strlen(m);
data/r-cran-rsclient-0.7-3/src/sbthread.h:95: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).
  i=strlen(m); i+=sizeof(h)+1;  
data/r-cran-rsclient-0.7-3/src/sbthread.h:107: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).
  i=strlen(m); i+=sizeof(h)+1;

ANALYSIS SUMMARY:

Hits = 45
Lines analyzed = 2484 in approximately 0.10 seconds (25438 lines/second)
Physical Source Lines of Code (SLOC) = 2002
Hits@level = [0]  29 [1]  14 [2]  28 [3]   0 [4]   3 [5]   0
Hits@level+ = [0+]  74 [1+]  45 [2+]  31 [3+]   3 [4+]   3 [5+]   0
Hits/KSLOC@level+ = [0+] 36.963 [1+] 22.4775 [2+] 15.4845 [3+] 1.4985 [4+] 1.4985 [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.