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/libccd-2.1/src/testsuites/mpr_boxbox.c
Examining data/libccd-2.1/src/testsuites/common.h
Examining data/libccd-2.1/src/testsuites/boxbox.h
Examining data/libccd-2.1/src/testsuites/support.h
Examining data/libccd-2.1/src/testsuites/support.c
Examining data/libccd-2.1/src/testsuites/boxcyl.c
Examining data/libccd-2.1/src/testsuites/spheresphere.h
Examining data/libccd-2.1/src/testsuites/mpr_boxcyl.c
Examining data/libccd-2.1/src/testsuites/vec3.c
Examining data/libccd-2.1/src/testsuites/polytope.h
Examining data/libccd-2.1/src/testsuites/boxbox.c
Examining data/libccd-2.1/src/testsuites/spheresphere.c
Examining data/libccd-2.1/src/testsuites/polytope.c
Examining data/libccd-2.1/src/testsuites/mpr_cylcyl.h
Examining data/libccd-2.1/src/testsuites/vec3.h
Examining data/libccd-2.1/src/testsuites/boxcyl.h
Examining data/libccd-2.1/src/testsuites/mpr_boxbox.h
Examining data/libccd-2.1/src/testsuites/common.c
Examining data/libccd-2.1/src/testsuites/cu/cu.c
Examining data/libccd-2.1/src/testsuites/cu/cu.h
Examining data/libccd-2.1/src/testsuites/cylcyl.h
Examining data/libccd-2.1/src/testsuites/bench2.c
Examining data/libccd-2.1/src/testsuites/cylcyl.c
Examining data/libccd-2.1/src/testsuites/bench.c
Examining data/libccd-2.1/src/testsuites/main.c
Examining data/libccd-2.1/src/testsuites/mpr_boxcyl.h
Examining data/libccd-2.1/src/testsuites/mpr_cylcyl.c
Examining data/libccd-2.1/src/ccd.c
Examining data/libccd-2.1/src/list.h
Examining data/libccd-2.1/src/ccd/quat.h
Examining data/libccd-2.1/src/ccd/compiler.h
Examining data/libccd-2.1/src/ccd/ccd_export.h
Examining data/libccd-2.1/src/ccd/vec3.h
Examining data/libccd-2.1/src/ccd/ccd.h
Examining data/libccd-2.1/src/support.h
Examining data/libccd-2.1/src/simplex.h
Examining data/libccd-2.1/src/support.c
Examining data/libccd-2.1/src/dbg.h
Examining data/libccd-2.1/src/mpr.c
Examining data/libccd-2.1/src/vec3.c
Examining data/libccd-2.1/src/polytope.h
Examining data/libccd-2.1/src/polytope.c
Examining data/libccd-2.1/src/alloc.h

FINAL RESULTS:

data/libccd-2.1/src/dbg.h:37:5:  [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(stderr, DBG_PROLOGUE "%s :: " format "\n", __func__, ## __VA_ARGS__); \
data/libccd-2.1/src/dbg.h:42:5:  [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(stderr, DBG_PROLOGUE "%s :: " str "\n", __func__); \
data/libccd-2.1/src/dbg.h:47:5:  [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(stderr, DBG_PROLOGUE "%s :: %s[%lf %lf %lf]\n", \
data/libccd-2.1/src/testsuites/common.c:154:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(oname, "%s o1", name);
data/libccd-2.1/src/testsuites/common.c:159:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(oname, "%s o1", name);
data/libccd-2.1/src/polytope.c:257:12:  [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).
    fout = fopen(fn, "a");
data/libccd-2.1/src/testsuites/bench.c:245:18:  [2] (integer) atol:
  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).
        cycles = atol(argv[1]);
data/libccd-2.1/src/testsuites/bench2.c:251:18:  [2] (integer) atol:
  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).
        cycles = atol(argv[1]);
data/libccd-2.1/src/testsuites/common.c:134: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 oname[500];
data/libccd-2.1/src/testsuites/cu/cu.c:42:1:  [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 cu_out_prefix[CU_OUT_PREFIX_LENGTH+1] = "";
data/libccd-2.1/src/testsuites/cu/cu.c:189: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 buffer[MSGBUF_LEN];
data/libccd-2.1/src/testsuites/cu/cu.c:235: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]; /* buffer */
data/libccd-2.1/src/testsuites/cu/cu.c:237: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 bufout[MSGBUF_LEN]; /* buffer which can be printed out */
data/libccd-2.1/src/testsuites/cu/cu.c:298: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[MSGBUF_LEN];
data/libccd-2.1/src/testsuites/cu/cu.c:335: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[100];
data/libccd-2.1/src/testsuites/cu/cu.h:132: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.
extern char cu_out_prefix[CU_OUT_PREFIX_LENGTH+1];
data/libccd-2.1/src/testsuites/cu/cu.c:244:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while((buf_len = read(fd, buf, BUF_LEN)) > 0 && !end){
data/libccd-2.1/src/testsuites/cu/cu.c:330:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(cu_out_prefix, str, CU_OUT_PREFIX_LENGTH);

ANALYSIS SUMMARY:

Hits = 18
Lines analyzed = 7768 in approximately 0.21 seconds (36801 lines/second)
Physical Source Lines of Code (SLOC) = 5296
Hits@level = [0] 112 [1]   2 [2]  11 [3]   0 [4]   5 [5]   0
Hits@level+ = [0+] 130 [1+]  18 [2+]  16 [3+]   5 [4+]   5 [5+]   0
Hits/KSLOC@level+ = [0+] 24.5468 [1+] 3.39879 [2+] 3.02115 [3+] 0.944109 [4+] 0.944109 [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.