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/tth-4.15+ds/tools/tthsplit.c
Examining data/tth-4.15+ds/tthgold/tthrfcat.c

FINAL RESULTS:

data/tth-4.15+ds/tools/tthsplit.c:29:5:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    strcat(bound,ch);
data/tth-4.15+ds/tthgold/tthrfcat.c:64:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(cmdline,"%s %s",RMCMD,bound);
data/tth-4.15+ds/tthgold/tthrfcat.c:65:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
       system(cmdline);
data/tth-4.15+ds/tthgold/tthrfcat.c:76:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(bound,"%s %s refs.html",COPY,TEMPFILE);
data/tth-4.15+ds/tthgold/tthrfcat.c:77:4:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   system(bound);
data/tth-4.15+ds/tthgold/tthrfcat.c:78:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(bound,"%s %s",RMCMD,TEMPFILE);
data/tth-4.15+ds/tthgold/tthrfcat.c:79:4:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   system(bound);
data/tth-4.15+ds/tthgold/tthrfcat.c:82:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(bound,"%s %s",RMCMD,TEMPFILE);
data/tth-4.15+ds/tthgold/tthrfcat.c:83:4:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   system(bound);
data/tth-4.15+ds/tools/tthsplit.c:16: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 bound[LINELEN]={0};
data/tth-4.15+ds/tools/tthsplit.c:17: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 buff[LINELEN]={0};
data/tth-4.15+ds/tools/tthsplit.c:28:5:  [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(bound,"--");
data/tth-4.15+ds/tools/tthsplit.c:45:16:  [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((file=fopen(ch,"w"))!=NULL){
data/tth-4.15+ds/tthgold/tthrfcat.c:24: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 cmdline[LINELEN];
data/tth-4.15+ds/tthgold/tthrfcat.c:25: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 bound[LINELEN];
data/tth-4.15+ds/tthgold/tthrfcat.c:26: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 buff[LINELEN];
data/tth-4.15+ds/tthgold/tthrfcat.c:32: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((tempfile=fopen(TEMPFILE,"w"))!=NULL){
data/tth-4.15+ds/tthgold/tthrfcat.c:39:14:  [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.
   if(ifile) sprintf(bound,"refs%d.html",ifile);
data/tth-4.15+ds/tthgold/tthrfcat.c:40:9:  [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.
   else strcpy(bound,"refs.html");
data/tth-4.15+ds/tthgold/tthrfcat.c:41:16:  [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((reffile=fopen(bound,"r"))!=NULL){

ANALYSIS SUMMARY:

Hits = 20
Lines analyzed = 151 in approximately 0.02 seconds (6253 lines/second)
Physical Source Lines of Code (SLOC) = 131
Hits@level = [0]  12 [1]   0 [2]  11 [3]   0 [4]   9 [5]   0
Hits@level+ = [0+]  32 [1+]  20 [2+]  20 [3+]   9 [4+]   9 [5+]   0
Hits/KSLOC@level+ = [0+] 244.275 [1+] 152.672 [2+] 152.672 [3+] 68.7023 [4+] 68.7023 [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.