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/darnwdl-0.5/src/fasterrender.h
Examining data/darnwdl-0.5/src/wpass1.h
Examining data/darnwdl-0.5/src/wpass2.h
Examining data/darnwdl-0.5/src/callbacks.c
Examining data/darnwdl-0.5/src/graphdec.h
Examining data/darnwdl-0.5/src/jpeginmemorydec.h
Examining data/darnwdl-0.5/src/jpeginmemorydec.c
Examining data/darnwdl-0.5/src/wpass2.c
Examining data/darnwdl-0.5/src/pass2.c
Examining data/darnwdl-0.5/src/graphdec.c
Examining data/darnwdl-0.5/src/pagerender.c
Examining data/darnwdl-0.5/src/support.c
Examining data/darnwdl-0.5/src/myfunc.c
Examining data/darnwdl-0.5/src/myfunc.h
Examining data/darnwdl-0.5/src/wdldec.c
Examining data/darnwdl-0.5/src/wdl2txt.c
Examining data/darnwdl-0.5/src/main.c
Examining data/darnwdl-0.5/src/support.h
Examining data/darnwdl-0.5/src/wpass1.c
Examining data/darnwdl-0.5/src/callbacks.h
Examining data/darnwdl-0.5/src/pagerender.h
Examining data/darnwdl-0.5/src/fasterrender.c

FINAL RESULTS:

data/darnwdl-0.5/src/wpass1.c:135:3:  [4] (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).
  strcpy(ret->headtag,header);
data/darnwdl-0.5/src/callbacks.c:106:16:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
    tempfile = tmpfile();
data/darnwdl-0.5/src/graphdec.c:66:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(buffer+(cinfo.output_height-cinfo.output_scanline)*row_stride,
data/darnwdl-0.5/src/main.c:82:18:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
      tempfile = tmpfile();
data/darnwdl-0.5/src/myfunc.c:65: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).
  inputFile = fopen(filename,"r");
data/darnwdl-0.5/src/pagerender.c:110: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.
        strcpy(SP01->font_face_encoding_guess,"gb2312");
data/darnwdl-0.5/src/pagerender.c:306:3:  [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 encoding[512] = {"big5"};
data/darnwdl-0.5/src/pagerender.c:441: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 cc[3];
data/darnwdl-0.5/src/pagerender.c:496: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 cc[4];
data/darnwdl-0.5/src/pass2.c:32:3:  [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 tag[3];
data/darnwdl-0.5/src/pass2.c:412:2:  [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 fontstr[32+1];
data/darnwdl-0.5/src/pass2.c:498: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).
  inputFile = fopen(argv[1],"rb");
data/darnwdl-0.5/src/wdl2txt.c:52:14:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
  tempfile = tmpfile();
data/darnwdl-0.5/src/wpass1.c:50:3:  [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 header[9];
data/darnwdl-0.5/src/wpass1.c:118:3:  [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 header[7];
data/darnwdl-0.5/src/wpass1.c:119:3:  [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 header_property_tag[5];
data/darnwdl-0.5/src/wpass1.c:124: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).
  file1 = fopen (infilename, "rb");
data/darnwdl-0.5/src/wpass1.c:218: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).
  outputfile = fopen(outfilename,"w");
data/darnwdl-0.5/src/wpass1.h:7:3:  [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 headtag[7];
data/darnwdl-0.5/src/wpass2.c:133:3:  [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 tag[3];
data/darnwdl-0.5/src/wpass2.c:158:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(i_new->tag,tag,3);
data/darnwdl-0.5/src/wpass2.c:1110: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(ret->font_face_encoding_guess,"utf16le");
data/darnwdl-0.5/src/wpass2.c:1115:7:  [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(ret->font_face_encoding_guess,"gb2312");
data/darnwdl-0.5/src/wpass2.c:1118:7:  [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(ret->font_face_encoding_guess,"big5"); /* default guess big5 */
data/darnwdl-0.5/src/wpass2.c:1121:11:  [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(ret->font_face_encoding_guess,"gb2312");
data/darnwdl-0.5/src/wpass2.h:10:3:  [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 tag[3];
data/darnwdl-0.5/src/wpass2.h:114:3:  [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 unknown_bytes_1[4];
data/darnwdl-0.5/src/wpass2.h:117:3:  [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 unknown_bytes_2[8];
data/darnwdl-0.5/src/wpass2.h:138:3:  [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 unknown_bytes_1[4];
data/darnwdl-0.5/src/wpass2.h:141:3:  [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 unknown_bytes_2[10];
data/darnwdl-0.5/src/wpass2.h:161:3:  [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 unknown_data[16];
data/darnwdl-0.5/src/wpass2.h:162:3:  [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 font_face[32*2+1];
data/darnwdl-0.5/src/wpass2.h:163:3:  [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 font_face_encoding_guess[128];
data/darnwdl-0.5/src/wpass2.h:172:3:  [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 unknown_data_2[11];
data/darnwdl-0.5/src/wpass2.h:179:3:  [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 unknown_data_1[2];
data/darnwdl-0.5/src/wpass2.h:184:3:  [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 unknown_data_2[6];
data/darnwdl-0.5/src/pagerender.c:365:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
          strncpy(encoding,"gb2312",sizeof(encoding)-1);
data/darnwdl-0.5/src/pagerender.c:401:13:  [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 (strlen(fontface)>=7 && strcmp(&(fontface[strlen(fontface)-7]),"_GB2312")==0) {
data/darnwdl-0.5/src/pagerender.c:401:54:  [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 (strlen(fontface)>=7 && strcmp(&(fontface[strlen(fontface)-7]),"_GB2312")==0) {
data/darnwdl-0.5/src/pagerender.c:402:11:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
          strncpy(encoding,"gb2312",sizeof(encoding)-1);
data/darnwdl-0.5/src/pass2.c:35:10:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    c1 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:39:10:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    c2 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:56:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp1 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:57:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp2 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:58:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp3 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:59:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp4 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:71:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp1 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:72:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp2 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:73:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp3 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:74:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      tmp4 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:110:18:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        flag01 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:261:30:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        unknown_data_01[i] = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:272:30:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        unknown_data_02[i] = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:283:30:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        unknown_data_03[i] = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:315:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          r= fgetc(inputFile); seeklen --;
data/darnwdl-0.5/src/pass2.c:316:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          g= fgetc(inputFile); seeklen --;
data/darnwdl-0.5/src/pass2.c:317:14:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          b= fgetc(inputFile); seeklen --;
data/darnwdl-0.5/src/pass2.c:327:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/pass2.c:364:18:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        flag01 = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:418:20:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	  unknownint[i] = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:425:34:  [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).
	wdlpass2_QPoutput(myout,fontstr,strlen(fontstr));
data/darnwdl-0.5/src/pass2.c:439:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        r = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:440:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        g = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:441:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        b = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:445:21:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	  unknownint2[i] = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:459:21:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	  unknownint1[i] = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:463:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        r = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:464:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        g = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:465:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        b = fgetc(inputFile);
data/darnwdl-0.5/src/pass2.c:469:21:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	  unknownint2[i] = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:37:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a1 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:38:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a2 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:39:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a3 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:40:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a4 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:55:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a1 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:56:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a2 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:72:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a1 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:73:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  a2 = fgetc (file1);
data/darnwdl-0.5/src/wpass2.c:138:10:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:142:10:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:333:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:334:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:355:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:356:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:377:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:378:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:399:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:400:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:422:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:423:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:444:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:445:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:446:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->r = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:447:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->g = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:448:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->b = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:449:23:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->unknown_byte = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:469:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:470:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:471:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->r = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:472:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->g = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:473:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->b = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:474:23:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->unknown_byte = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:494:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:495:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:516:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:517:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:586:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:587:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:656:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:657:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:716:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:717:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:727:29:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ret->unknown_bytes_1[i]=fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:733:29:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ret->unknown_bytes_2[i]=fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:760:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        b = fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/wpass2.c:761:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        g = fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/wpass2.c:762:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        r = fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/wpass2.c:769:11:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/wpass2.c:777:18:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        cindex = fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/wpass2.c:784:11:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          fgetc(inputFile); seeklen--;
data/darnwdl-0.5/src/wpass2.c:826:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:827:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:837:29:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ret->unknown_bytes_1[i]=fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:843:29:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ret->unknown_bytes_2[i]=fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:920:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:921:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:939:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    inew->flag1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1011:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1012:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1030:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    inew->flag1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1102:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1103:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1113: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).
    ret_font_face_len = strlen(ret->font_face);
data/darnwdl-0.5/src/wpass2.c:1145:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1146:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1150:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->r = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1151:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->g = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1152:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->b = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1168:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c1 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1169:8:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  c2 = fgetc(inputFile);
data/darnwdl-0.5/src/wpass2.c:1175:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->r = fgetc(inputFile); seeklen -=1;
data/darnwdl-0.5/src/wpass2.c:1176:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->g = fgetc(inputFile); seeklen -=1;
data/darnwdl-0.5/src/wpass2.c:1177:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->b = fgetc(inputFile); seeklen -=1;
data/darnwdl-0.5/src/wpass2.c:1178:25:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ret->unknown_char_1 = fgetc(inputFile); seeklen -= 1;

ANALYSIS SUMMARY:

Hits = 144
Lines analyzed = 4494 in approximately 0.20 seconds (22582 lines/second)
Physical Source Lines of Code (SLOC) = 3500
Hits@level = [0] 126 [1] 108 [2]  35 [3]   0 [4]   1 [5]   0
Hits@level+ = [0+] 270 [1+] 144 [2+]  36 [3+]   1 [4+]   1 [5+]   0
Hits/KSLOC@level+ = [0+] 77.1429 [1+] 41.1429 [2+] 10.2857 [3+] 0.285714 [4+] 0.285714 [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.