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/dascrubber-1.1/DAScover.c
Examining data/dascrubber-1.1/DASedit.c
Examining data/dascrubber-1.1/DASmap.c
Examining data/dascrubber-1.1/DASpatch.c
Examining data/dascrubber-1.1/DASqv.c
Examining data/dascrubber-1.1/DASrealign.c
Examining data/dascrubber-1.1/DAStrim.c
Examining data/dascrubber-1.1/DB.c
Examining data/dascrubber-1.1/DB.h
Examining data/dascrubber-1.1/QV.c
Examining data/dascrubber-1.1/QV.h
Examining data/dascrubber-1.1/REPcover.c
Examining data/dascrubber-1.1/REPqv.c
Examining data/dascrubber-1.1/REPtrim.c
Examining data/dascrubber-1.1/align.c
Examining data/dascrubber-1.1/align.h

FINAL RESULTS:

data/dascrubber-1.1/DAScover.c:483:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DAScover.c:488:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NBLOCK,&nblocks) != 1)
data/dascrubber-1.1/DAScover.c:490:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_PARAMS,&size,&cutoff,&all) != 3)
data/dascrubber-1.1/DAScover.c:493:27:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                      if (fscanf(dbfile,DB_BDATA,&oindx,&DB_FIRST) != 2)
data/dascrubber-1.1/DAScover.c:495:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_BDATA,&oindx,&DB_LAST) != 2)
data/dascrubber-1.1/DASedit.c:297:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    if (fscanf(dstub,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DASedit.c:311:13:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
        if (fscanf(dstub,DB_FDATA,findx+i,fname,prolog) != 3)
data/dascrubber-1.1/DASedit.c:321:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    if (fscanf(dstub,DB_NBLOCK,&nblocks) != 1)
data/dascrubber-1.1/DASedit.c:325:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    if (fscanf(dstub,DB_PARAMS,&bsize,&cutoff,&allflag) != 3)
data/dascrubber-1.1/DASedit.c:335:11:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
      if (fscanf(dstub,DB_BDATA,&ufirst,bindx+i) != 2)
data/dascrubber-1.1/DASedit.c:716: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(NB_FILE,DB_NFILE,nfiles);
data/dascrubber-1.1/DASedit.c:719:7:  [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(NB_FILE,DB_FDATA,findx[i],flist[i],plist[i]);
data/dascrubber-1.1/DASedit.c:721: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(NB_FILE,DB_NBLOCK,nblocks);
data/dascrubber-1.1/DASedit.c:722: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(NB_FILE,DB_PARAMS,bsize,CUTOFF,1);
data/dascrubber-1.1/DASedit.c:725:7:  [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(NB_FILE,DB_BDATA,bindx[i],bindx[i]);
data/dascrubber-1.1/DASpatch.c:784:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DASpatch.c:789:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NBLOCK,&nblocks) != 1)
data/dascrubber-1.1/DASpatch.c:791:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_PARAMS,&size,&cutoff,&all) != 3)
data/dascrubber-1.1/DASpatch.c:794:27:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                      if (fscanf(dbfile,DB_BDATA,&oindx,&DB_FIRST) != 2)
data/dascrubber-1.1/DASpatch.c:796:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_BDATA,&oindx,&DB_LAST) != 2)
data/dascrubber-1.1/DASqv.c:571:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DASqv.c:576:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NBLOCK,&nblocks) != 1)
data/dascrubber-1.1/DASqv.c:578:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_PARAMS,&size,&cutoff,&all) != 3)
data/dascrubber-1.1/DASqv.c:581:27:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                      if (fscanf(dbfile,DB_BDATA,&oindx,&DB_FIRST) != 2)
data/dascrubber-1.1/DASqv.c:583:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_BDATA,&oindx,&DB_LAST) != 2)
data/dascrubber-1.1/DAStrim.c:2474:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DAStrim.c:2479:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_NBLOCK,&nblocks) != 1)
data/dascrubber-1.1/DAStrim.c:2481:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_PARAMS,&size,&cutoff,&all) != 3)
data/dascrubber-1.1/DAStrim.c:2484:27:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                      if (fscanf(dbfile,DB_BDATA,&oindx,&DB_FIRST) != 2)
data/dascrubber-1.1/DAStrim.c:2486:25:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
                    if (fscanf(dbfile,DB_BDATA,&oindx,&DB_LAST) != 2)
data/dascrubber-1.1/DB.c:177:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(cat,"%s%s%s%s",path,sep,root,suffix);
data/dascrubber-1.1/DB.c:197:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(suffix,"%s%d%s",left,num,right);
data/dascrubber-1.1/DB.c:469:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    if (fscanf(dbvis,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DB.c:474:11:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
      if (fscanf(dbvis,DB_FDATA,&tlast,fname,prolog) != 3)
data/dascrubber-1.1/DB.c:478:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    if (fscanf(dbvis,DB_NBLOCK,&nblocks) != 1)
data/dascrubber-1.1/DB.c:489:13:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
      { if (fscanf(dbvis,DB_PARAMS,&size,&cutoff,&all) != 3)
data/dascrubber-1.1/DB.c:501:15:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
          if (fscanf(dbvis,DB_BDATA,&ufirst,&tfirst) != 2)
data/dascrubber-1.1/DB.c:505:13:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
        if (fscanf(dbvis,DB_BDATA,&ulast,&tlast) != 2)
data/dascrubber-1.1/DB.c:941:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    if (fscanf(istub,DB_NFILE,&nfiles) != 1)
data/dascrubber-1.1/DB.c:959:17:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
          { if (fscanf(istub,DB_FDATA,&last,fname,prolog) != 3)
data/dascrubber-1.1/DB.c:970:17:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
            if (fscanf(istub,DB_FDATA,&last,fname,prolog) != 3)
data/dascrubber-1.1/DB.c:991:16:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
        (void) fscanf(istub,DB_NFILE,&nfiles);
data/dascrubber-1.1/DB.c:995:20:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
          { (void) fscanf(istub,DB_FDATA,&last,fname,prolog);
data/dascrubber-1.1/DB.c:1000:20:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
          { (void) fscanf(istub,DB_FDATA,&last,fname,prolog);
data/dascrubber-1.1/DB.c:1059:17:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
          { if (fscanf(istub,DB_FDATA,&last,fname,prolog) != 3)
data/dascrubber-1.1/DB.c:2096:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(parse->slice,"%s/%s",parse->pwd,parse->root);
data/dascrubber-1.1/DB.c:2098:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(parse->slice,"%s/%s%c%d-%d%s",parse->pwd,parse->root,BLOCK_SYMBOL,parse->next+1,
data/dascrubber-1.1/DB.h:39:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define EPRINTF sprintf
data/dascrubber-1.1/DB.h:45:17:  [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 EPRINTF fprintf
data/dascrubber-1.1/DB.h:159:9:  [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.
  { if (fprintf(file,__VA_ARGS__) < 0)	\
data/dascrubber-1.1/DB.h:164:9:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  { if (printf(__VA_ARGS__) < 0)	\
data/dascrubber-1.1/DB.h:194:9:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  { if (fscanf(file,__VA_ARGS__) != Count_Args(#__VA_ARGS__)-1)				\
data/dascrubber-1.1/DAScover.c:471:13:  [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[2*MAX_NAME+100];
data/dascrubber-1.1/DASedit.c:106: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.
static char *BSTACK[STACK_SIZE];
data/dascrubber-1.1/DASedit.c:309:9:  [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 prolog[MAX_NAME], fname[MAX_NAME];
data/dascrubber-1.1/DASedit.c:389:18:  [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).
        afile  = fopen(aname,"r");
data/dascrubber-1.1/DASmap.c:52:10:  [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.
{ static char nbuffer[MAX_BUFFER];
data/dascrubber-1.1/DASpatch.c:428:10:  [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.
  static char *status_string[4] = { "LOWQ", "SPAN", "SPLIT", "NOPAT" };
data/dascrubber-1.1/DASpatch.c:713:18:  [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).
        afile  = fopen(aname,"r");
data/dascrubber-1.1/DASpatch.c:772:13:  [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[2*MAX_NAME+100];
data/dascrubber-1.1/DASqv.c:470:14:  [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).
    afile  = fopen(aname,"r");
data/dascrubber-1.1/DASqv.c:559:13:  [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[2*MAX_NAME+100];
data/dascrubber-1.1/DAStrim.c:156: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.
static char   Symbol[7] = { 'A', 'L', '[', 'C', ']', 'R', 'D' };
data/dascrubber-1.1/DAStrim.c:1865:10:  [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.
  static char *status_string[4] = { "LOWQ", "SPAN", "SPLIT", "ADAPT" };
data/dascrubber-1.1/DAStrim.c:2346: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).
      afile  = fopen(aname,"r");
data/dascrubber-1.1/DAStrim.c:2462:13:  [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[2*MAX_NAME+100];
data/dascrubber-1.1/DB.c:41: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 Ebuffer[1000];
data/dascrubber-1.1/DB.c:106: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).
  if ((f = fopen(name,mode)) == NULL)
data/dascrubber-1.1/DB.c:287:13:  [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.
    *s++ = (char ) ((s0[i] << 6) | (s1[i] << 4) | (s2[i] << 2) | s3[i]);
data/dascrubber-1.1/DB.c:321:10:  [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.
{ static char letter[4] = { 'a', 'c', 'g', 't' };
data/dascrubber-1.1/DB.c:329:10:  [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.
{ static char letter[4] = { 'A', 'C', 'G', 'T' };
data/dascrubber-1.1/DB.c:337:10:  [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.
{ static char letter[4] = { '1', '2', '3', '4' };
data/dascrubber-1.1/DB.c:347:10:  [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.
{ static char number[128] =
data/dascrubber-1.1/DB.c:372:10:  [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.
{ static char arrow[128] =
data/dascrubber-1.1/DB.c:446: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 ((dbvis = fopen(cat,"r")) == NULL)
data/dascrubber-1.1/DB.c:450:20:  [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 ((dbvis = fopen(cat,"r")) == NULL)
data/dascrubber-1.1/DB.c:466: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  fname[MAX_NAME], prolog[MAX_NAME];
data/dascrubber-1.1/DB.c:938: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  prolog[MAX_NAME], fname[MAX_NAME];
data/dascrubber-1.1/DB.c:1162: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).
    { afile  = fopen(Catenate(db->path,Numbered_Suffix(".",db->part,"."),track,".anno"),"r");
data/dascrubber-1.1/DB.c:1166: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).
    { afile  = fopen(Catenate(db->path,".",track,".anno"),"r");
data/dascrubber-1.1/DB.c:1235: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).
    { afile  = fopen(Catenate(db->path,Numbered_Suffix(".",db->part,"."),track,".anno"),"r");
data/dascrubber-1.1/DB.c:1239: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).
    { afile = fopen(Catenate(db->path,".",track,".anno"),"r");
data/dascrubber-1.1/DB.c:1258:11:  [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).
  dfile = fopen(name,"r");
data/dascrubber-1.1/DB.c:2037: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 ((input = fopen(Catenate(parse->pwd,"/",disp,".las"),"r")) == NULL)
data/dascrubber-1.1/REPcover.c:68:22:  [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).
            afile  = fopen(aname,"r");
data/dascrubber-1.1/REPcover.c:78:22:  [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).
            afile  = fopen(aname,"r");
data/dascrubber-1.1/REPqv.c:68:21:  [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).
            afile = fopen(aname,"r");
data/dascrubber-1.1/REPqv.c:78:22:  [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).
            afile  = fopen(aname,"r");
data/dascrubber-1.1/REPtrim.c:69:22:  [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).
            afile  = fopen(aname,"r");
data/dascrubber-1.1/REPtrim.c:79:21:  [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).
            afile = fopen(aname,"r");
data/dascrubber-1.1/align.c:3273: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.
static char ToL[8] = { 'a', 'c', 'g', 't', '.', '[', ']', '-' };
data/dascrubber-1.1/align.c:3274: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.
static char ToU[8] = { 'A', 'C', 'G', 'T', '.', '[', ']', '-' };
data/dascrubber-1.1/DASmap.c:36:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int    read;
data/dascrubber-1.1/DASmap.c:68:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  x = sscanf(nbuffer," %d %d %d",&(it->read),&(it->beg),&(it->end));
data/dascrubber-1.1/DASmap.c:245:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            e = iter->read;
data/dascrubber-1.1/DB.c:146:15:  [1] (buffer) strlen:
  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).
    { epos  = strlen(find);
data/dascrubber-1.1/DB.c:147:15:  [1] (buffer) strlen:
  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).
      epos -= strlen(suffix);
data/dascrubber-1.1/DB.c:166:10:  [1] (buffer) strlen:
  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).
  len =  strlen(path);
data/dascrubber-1.1/DB.c:167:10:  [1] (buffer) strlen:
  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).
  len += strlen(sep);
data/dascrubber-1.1/DB.c:168:10:  [1] (buffer) strlen:
  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).
  len += strlen(root);
data/dascrubber-1.1/DB.c:169:10:  [1] (buffer) strlen:
  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).
  len += strlen(suffix);
data/dascrubber-1.1/DB.c:188:10:  [1] (buffer) strlen:
  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).
  len =  strlen(left);
data/dascrubber-1.1/DB.c:189:10:  [1] (buffer) strlen:
  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).
  len += strlen(right) + 40;
data/dascrubber-1.1/DB.c:424:10:  [1] (buffer) strlen:
  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).
  plen = strlen(path);
data/dascrubber-1.1/DB.c:718:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  DAZZ_READ   read;
data/dascrubber-1.1/DB.c:755:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          { if (fread(&read,sizeof(DAZZ_READ),1,indx) != 1)
data/dascrubber-1.1/DB.c:760:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if ((read.flags & DB_BEST) >= allflag && read.rlen >= cutoff)
data/dascrubber-1.1/DB.c:760:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if ((read.flags & DB_BEST) >= allflag && read.rlen >= cutoff)
data/dascrubber-1.1/DB.c:774:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          { if (fread(&read,sizeof(DAZZ_READ),1,indx) != 1)
data/dascrubber-1.1/DB.c:779:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if ((read.flags & DB_BEST) >= allflag && read.rlen >= cutoff)
data/dascrubber-1.1/DB.c:779:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if ((read.flags & DB_BEST) >= allflag && read.rlen >= cutoff)
data/dascrubber-1.1/DB.c:794:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          { if (fread(&read,sizeof(DAZZ_READ),1,indx) != 1)
data/dascrubber-1.1/DB.c:799:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if ((read.flags & DB_BEST) >= allflag && read.rlen >= cutoff)
data/dascrubber-1.1/DB.c:799:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if ((read.flags & DB_BEST) >= allflag && read.rlen >= cutoff)
data/dascrubber-1.1/DB.c:849:7:  [1] (buffer) strlen:
  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).
    + strlen(db->path)+1
data/dascrubber-1.1/DB.c:864:12:  [1] (buffer) strlen:
  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).
         + strlen(t->name)+1
data/dascrubber-1.1/DB.c:1004:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              { DAZZ_READ read;
data/dascrubber-1.1/DB.c:1007:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (fread(&read,sizeof(DAZZ_READ),1,indx) != 1)
data/dascrubber-1.1/DB.c:1012:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                fseeko(quiva,read.coff,SEEK_SET);
data/dascrubber-1.1/DB.c:1554:10:  [1] (buffer) strlen:
  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).
  slen = strlen(extra->name);
data/dascrubber-1.1/DB.c:1594:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
{ char *read;
data/dascrubber-1.1/DB.c:1608:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int Load_Read(DAZZ_DB *db, int i, char *read, int ascii)
data/dascrubber-1.1/DB.c:1632:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { if (fread(read,clen,1,bases) != 1)
data/dascrubber-1.1/DB.c:1637:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Uncompress_Read(len,read);
data/dascrubber-1.1/DB.c:1639:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { Lower_Read(read);
data/dascrubber-1.1/DB.c:1640:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read[-1] = '\0';
data/dascrubber-1.1/DB.c:1643:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { Upper_Read(read);
data/dascrubber-1.1/DB.c:1644:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read[-1] = '\0';
data/dascrubber-1.1/DB.c:1647:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read[-1] = 4;
data/dascrubber-1.1/DB.c:1658:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int Load_Arrow(DAZZ_DB *db, int i, char *read, int ascii)
data/dascrubber-1.1/DB.c:1687:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { if (fread(read,clen,1,arrow) != 1)
data/dascrubber-1.1/DB.c:1692:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Uncompress_Read(len,read);
data/dascrubber-1.1/DB.c:1694:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { Letter_Arrow(read);
data/dascrubber-1.1/DB.c:1695:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read[-1] = '\0';
data/dascrubber-1.1/DB.c:1698:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read[-1] = 4;
data/dascrubber-1.1/DB.c:1702:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
char *Load_Subread(DAZZ_DB *db, int i, int beg, int end, char *read, int ascii)
data/dascrubber-1.1/DB.c:1730:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { if (fread(read,clen,1,bases) != 1)
data/dascrubber-1.1/DB.c:1735:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Uncompress_Read(4*clen,read);
data/dascrubber-1.1/DB.c:1737:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read[len] = 4;
data/dascrubber-1.1/DB.c:1739:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { Lower_Read(read);
data/dascrubber-1.1/DB.c:1740:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read[-1] = '\0';
data/dascrubber-1.1/DB.c:1743:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { Upper_Read(read);
data/dascrubber-1.1/DB.c:1744:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read[-1] = '\0';
data/dascrubber-1.1/DB.c:1747:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read[-1] = 4;
data/dascrubber-1.1/DB.c:1749:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return (read);
data/dascrubber-1.1/DB.c:1915:12:  [1] (buffer) strlen:
  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).
  plen   = strlen(path);
data/dascrubber-1.1/DB.c:1920:10:  [1] (buffer) strlen:
  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).
  rlen = strlen(root);
data/dascrubber-1.1/DB.c:1958:14:  [1] (buffer) strlen:
  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).
      dlen = strlen(name);
data/dascrubber-1.1/DB.c:2089:18:  [1] (buffer) strlen:
  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).
    { int size = strlen(parse->pwd) + strlen(Block_Arg_Root(parse)) + 30;
data/dascrubber-1.1/DB.c:2089:39:  [1] (buffer) strlen:
  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).
    { int size = strlen(parse->pwd) + strlen(Block_Arg_Root(parse)) + 30;
data/dascrubber-1.1/DB.h:516:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int  Load_Read(DAZZ_DB *db, int i, char *read, int ascii);
data/dascrubber-1.1/DB.h:521:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int  Load_Arrow(DAZZ_DB *db, int i, char *read, int ascii);
data/dascrubber-1.1/DB.h:530:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
char *Load_Subread(DAZZ_DB *db, int i, int beg, int end, char *read, int ascii);
data/dascrubber-1.1/QV.c:386:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
static void Encode(HScheme *scheme, FILE *out, uint8 *read, int rlen)
data/dascrubber-1.1/QV.c:428:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    { x = read[k];
data/dascrubber-1.1/QV.c:448:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
static void Encode_Run(HScheme *neme, HScheme *reme, FILE *out, uint8 *read, int rlen, int rchar)
data/dascrubber-1.1/QV.c:477:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while (k < rlen && read[k] == rchar)
data/dascrubber-1.1/QV.c:489:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        { x = read[k];
data/dascrubber-1.1/QV.c:510:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
static int Decode(HScheme *scheme, FILE *in, char *read, int rlen)
data/dascrubber-1.1/QV.c:583:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read[j] = (char) c;
data/dascrubber-1.1/QV.c:595:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read[j] = (char) c;
data/dascrubber-1.1/QV.c:604:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
static int Decode_Run(HScheme *neme, HScheme *reme, FILE *in, char *read,
data/dascrubber-1.1/QV.c:650:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          read[j++] = (char) rchar;
data/dascrubber-1.1/QV.c:661:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read[j] = (char) c;
data/dascrubber-1.1/QV.c:675:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          read[j++] = (char) rchar;
data/dascrubber-1.1/QV.c:686:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read[j] = (char) c;
data/dascrubber-1.1/QV.c:770:10:  [1] (buffer) strlen:
  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).
  rlen = strlen(Read);
data/dascrubber-1.1/QV.c:782:15:  [1] (buffer) strlen:
  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).
      rlen += strlen(Read+rlen);
data/dascrubber-1.1/QV.c:792:25:  [1] (buffer) strlen:
  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).
      if (rlen != (int) strlen(other))
data/dascrubber-1.1/QV.c:1195:11:  [1] (buffer) strlen:
  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).
    len = strlen(coding->prefix);

ANALYSIS SUMMARY:

Hits = 170
Lines analyzed = 18060 in approximately 0.48 seconds (37410 lines/second)
Physical Source Lines of Code (SLOC) = 13997
Hits@level = [0] 836 [1]  78 [2]  40 [3]   0 [4]  52 [5]   0
Hits@level+ = [0+] 1006 [1+] 170 [2+]  92 [3+]  52 [4+]  52 [5+]   0
Hits/KSLOC@level+ = [0+] 71.8725 [1+] 12.1455 [2+] 6.57284 [3+] 3.71508 [4+] 3.71508 [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.