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/gr-fcdproplus-3.8~20190817/include/fcdproplus/api.h
Examining data/gr-fcdproplus-3.8~20190817/include/fcdproplus/fcd.h
Examining data/gr-fcdproplus-3.8~20190817/include/fcdproplus/fcd_control.h
Examining data/gr-fcdproplus-3.8~20190817/include/fcdproplus/fcdpp_control.h
Examining data/gr-fcdproplus-3.8~20190817/include/fcdproplus/fcdproplus.h
Examining data/gr-fcdproplus-3.8~20190817/lib/fcd_control_impl.cc
Examining data/gr-fcdproplus-3.8~20190817/lib/fcd_control_impl.h
Examining data/gr-fcdproplus-3.8~20190817/lib/fcd_impl.cc
Examining data/gr-fcdproplus-3.8~20190817/lib/fcd_impl.h
Examining data/gr-fcdproplus-3.8~20190817/lib/fcdcmd.h
Examining data/gr-fcdproplus-3.8~20190817/lib/fcdpp_control_impl.cc
Examining data/gr-fcdproplus-3.8~20190817/lib/fcdpp_control_impl.h
Examining data/gr-fcdproplus-3.8~20190817/lib/fcdproplus_impl.cc
Examining data/gr-fcdproplus-3.8~20190817/lib/fcdproplus_impl.h
Examining data/gr-fcdproplus-3.8~20190817/lib/hid/hidapi.h
Examining data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c
Examining data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c
Examining data/gr-fcdproplus-3.8~20190817/lib/qa_fcdproplus.cc
Examining data/gr-fcdproplus-3.8~20190817/lib/qa_fcdproplus.h
Examining data/gr-fcdproplus-3.8~20190817/lib/test_fcdproplus.cc

FINAL RESULTS:

data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:57:18:  [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.
#define LOG(...) fprintf(stderr, __VA_ARGS__)
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:328:2:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
	wcscpy(ret, s);
data/gr-fcdproplus-3.8~20190817/lib/fcd_control_impl.cc:227:18:  [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 auc[4];
data/gr-fcdproplus-3.8~20190817/lib/fcd_control_impl.cc:259:18:  [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 auc[4];
data/gr-fcdproplus-3.8~20190817/lib/fcd_control_impl.h:52:16:  [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 aucBuf[65];                 /*!< Buffers to read/write control messages to the dongle */
data/gr-fcdproplus-3.8~20190817/lib/fcdpp_control_impl.h:40:16:  [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 aucBuf[65];                 /*!< Buffers to read/write control messages to the dongle */
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:326:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[512];
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:329:2:  [2] (buffer) wchar_t:
  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.
	wchar_t wbuf[256];
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:396: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[64];
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:526:18:  [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 data[256];
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:654: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(rpt->data, transfer->buffer, transfer->actual_length);
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:975: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(data, rpt->data, len);
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:1365: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 search_string[64];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:338: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 transport[32];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:436:3:  [2] (buffer) wchar_t:
  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.
		wchar_t buf[BUF_LEN];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:437: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 cbuf[BUF_LEN];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:574: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(rpt->data, report, report_length);
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:705: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 cbuf[BUF_LEN];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:714: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 str[32];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:727:5:  [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(str, "HIDAPI_%p", os_dev);
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:809: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(data, rpt->data, len);
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:1096:3:  [2] (buffer) wchar_t:
  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.
		wchar_t serial[256], buf[256];
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:1097: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 cbuf[256];
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:1202:3:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		wcsncpy(string, str, maxlen);
data/gr-fcdproplus-3.8~20190817/lib/hid/hid.c:1375:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(search_string, locale, sizeof(search_string));
data/gr-fcdproplus-3.8~20190817/lib/hid/hidmac.c:326:15:  [1] (buffer) wcslen:
  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 len = wcslen(s);

ANALYSIS SUMMARY:

Hits = 26
Lines analyzed = 4763 in approximately 0.16 seconds (29422 lines/second)
Physical Source Lines of Code (SLOC) = 2809
Hits@level = [0]   8 [1]   3 [2]  21 [3]   0 [4]   2 [5]   0
Hits@level+ = [0+]  34 [1+]  26 [2+]  23 [3+]   2 [4+]   2 [5+]   0
Hits/KSLOC@level+ = [0+] 12.104 [1+] 9.25596 [2+] 8.18797 [3+] 0.711997 [4+] 0.711997 [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.