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/docopt.cpp-0.6.2/docopt.cpp
Examining data/docopt.cpp-0.6.2/docopt.h
Examining data/docopt.cpp-0.6.2/docopt_private.h
Examining data/docopt.cpp-0.6.2/docopt_util.h
Examining data/docopt.cpp-0.6.2/examples/naval_fate.cpp
Examining data/docopt.cpp-0.6.2/main.cpp
Examining data/docopt.cpp-0.6.2/run_testcase.cpp
Examining data/docopt.cpp-0.6.2/docopt_value.h

FINAL RESULTS:

data/docopt.cpp-0.6.2/docopt.cpp:213:23:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	std::string longOpt, equal;
data/docopt.cpp-0.6.2/docopt.cpp:215:20:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	std::tie(longOpt, equal, val) = partition(tokens.pop(), "=");
data/docopt.cpp-0.6.2/docopt.cpp:219:6:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
	if (equal.empty()) {
data/docopt.cpp-0.6.2/docopt.cpp:248:18:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		int argcount = equal.empty() ? 0 : 1;
data/docopt.cpp-0.6.2/docopt_util.h:30:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		return std::equal(prefix.begin(), prefix.end(),

ANALYSIS SUMMARY:

Hits = 5
Lines analyzed = 2005 in approximately 0.11 seconds (18354 lines/second)
Physical Source Lines of Code (SLOC) = 1481
Hits@level = [0]   0 [1]   5 [2]   0 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   5 [1+]   5 [2+]   0 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 3.3761 [1+] 3.3761 [2+]   0 [3+]   0 [4+]   0 [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.