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/dtl-1.19/dtl/Diff.hpp
Examining data/dtl-1.19/dtl/Diff3.hpp
Examining data/dtl-1.19/dtl/Lcs.hpp
Examining data/dtl-1.19/dtl/Sequence.hpp
Examining data/dtl-1.19/dtl/Ses.hpp
Examining data/dtl-1.19/dtl/dtl.hpp
Examining data/dtl-1.19/dtl/functors.hpp
Examining data/dtl-1.19/dtl/variables.hpp
Examining data/dtl-1.19/examples/bdiff.cpp
Examining data/dtl-1.19/examples/common.cpp
Examining data/dtl-1.19/examples/common.hpp
Examining data/dtl-1.19/examples/fpatch.cpp
Examining data/dtl-1.19/examples/intdiff.cpp
Examining data/dtl-1.19/examples/intdiff3.cpp
Examining data/dtl-1.19/examples/patch.cpp
Examining data/dtl-1.19/examples/printers.hpp
Examining data/dtl-1.19/examples/st2ses.cpp
Examining data/dtl-1.19/examples/strdiff.cpp
Examining data/dtl-1.19/examples/strdiff3.cpp
Examining data/dtl-1.19/examples/strdiff_cp.cpp
Examining data/dtl-1.19/examples/unidiff.cpp
Examining data/dtl-1.19/examples/unistrdiff.cpp
Examining data/dtl-1.19/test/Intdifftest.cpp
Examining data/dtl-1.19/test/Objdifftest.cpp
Examining data/dtl-1.19/test/Patchtest.cpp
Examining data/dtl-1.19/test/Strdiff3test.cpp
Examining data/dtl-1.19/test/Strdifftest.cpp
Examining data/dtl-1.19/test/comparators.hpp
Examining data/dtl-1.19/test/dtl_test.cpp
Examining data/dtl-1.19/test/dtl_test_common.cpp
Examining data/dtl-1.19/test/dtl_test_common.hpp

FINAL RESULTS:

data/dtl-1.19/examples/bdiff.cpp:29:15:  [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(fs, O_RDONLY)) == -1) {
data/dtl-1.19/examples/common.cpp:6:15:  [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 ((fp = fopen(fs.c_str(), "r")) == NULL) {
data/dtl-1.19/examples/unidiff.cpp:38: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[2][MAX_LENGTH + 1];
data/dtl-1.19/test/dtl_test_common.cpp:41:15:  [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 ((fp = fopen(fs.c_str(), "r")) == NULL) {
data/dtl-1.19/test/dtl_test_common.hpp:58:9:  [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).
    ofs.open(path.c_str());
data/dtl-1.19/examples/bdiff.cpp:33:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while ((siz = read(fd, buf, sizeof(buf))) > 0) {
data/dtl-1.19/test/comparators.hpp:16: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.
            return equal;

ANALYSIS SUMMARY:

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