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/apng2gif-1.8/zlib/zutil.h
Examining data/apng2gif-1.8/zlib/zutil.c
Examining data/apng2gif-1.8/zlib/zlib.h
Examining data/apng2gif-1.8/zlib/zconf.h
Examining data/apng2gif-1.8/zlib/uncompr.c
Examining data/apng2gif-1.8/zlib/trees.h
Examining data/apng2gif-1.8/zlib/trees.c
Examining data/apng2gif-1.8/zlib/inftrees.h
Examining data/apng2gif-1.8/zlib/inftrees.c
Examining data/apng2gif-1.8/zlib/inflate.h
Examining data/apng2gif-1.8/zlib/inflate.c
Examining data/apng2gif-1.8/zlib/inffixed.h
Examining data/apng2gif-1.8/zlib/inffast.h
Examining data/apng2gif-1.8/zlib/inffast.c
Examining data/apng2gif-1.8/zlib/infback.c
Examining data/apng2gif-1.8/zlib/gzwrite.c
Examining data/apng2gif-1.8/zlib/gzread.c
Examining data/apng2gif-1.8/zlib/gzlib.c
Examining data/apng2gif-1.8/zlib/gzguts.h
Examining data/apng2gif-1.8/zlib/gzclose.c
Examining data/apng2gif-1.8/zlib/deflate.h
Examining data/apng2gif-1.8/zlib/deflate.c
Examining data/apng2gif-1.8/zlib/crc32.h
Examining data/apng2gif-1.8/zlib/crc32.c
Examining data/apng2gif-1.8/zlib/compress.c
Examining data/apng2gif-1.8/zlib/adler32.c
Examining data/apng2gif-1.8/libpng/pngwutil.c
Examining data/apng2gif-1.8/libpng/pngwtran.c
Examining data/apng2gif-1.8/libpng/pngwrite.c
Examining data/apng2gif-1.8/libpng/pngwio.c
Examining data/apng2gif-1.8/libpng/pngtrans.c
Examining data/apng2gif-1.8/libpng/pngstruct.h
Examining data/apng2gif-1.8/libpng/pngset.c
Examining data/apng2gif-1.8/libpng/pngrutil.c
Examining data/apng2gif-1.8/libpng/pngrtran.c
Examining data/apng2gif-1.8/libpng/pngrio.c
Examining data/apng2gif-1.8/libpng/pngread.c
Examining data/apng2gif-1.8/libpng/pngpriv.h
Examining data/apng2gif-1.8/libpng/pngpread.c
Examining data/apng2gif-1.8/libpng/pngmem.c
Examining data/apng2gif-1.8/libpng/pnglibconf.h
Examining data/apng2gif-1.8/libpng/pnginfo.h
Examining data/apng2gif-1.8/libpng/pngget.c
Examining data/apng2gif-1.8/libpng/pngerror.c
Examining data/apng2gif-1.8/libpng/pngdebug.h
Examining data/apng2gif-1.8/libpng/pngconf.h
Examining data/apng2gif-1.8/libpng/png.h
Examining data/apng2gif-1.8/libpng/png.c
Examining data/apng2gif-1.8/apng2gif.cpp

FINAL RESULTS:

data/apng2gif-1.8/apng2gif.cpp:1376:9:  [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(szOut, szOpt);
data/apng2gif-1.8/apng2gif.cpp:1384:5:  [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(szOut, szInput);
data/apng2gif-1.8/libpng/pngdebug.h:84:8:  [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(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "   " : \
data/apng2gif-1.8/libpng/pngdebug.h:92:8:  [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(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "   " : \
data/apng2gif-1.8/libpng/pngdebug.h:100:8:  [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(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "   " : \
data/apng2gif-1.8/libpng/pngdebug.h:113:8:  [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(PNG_DEBUG_FILE,format); \
data/apng2gif-1.8/libpng/pngdebug.h:124:8:  [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(PNG_DEBUG_FILE,format,p1); \
data/apng2gif-1.8/libpng/pngdebug.h:135:8:  [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(PNG_DEBUG_FILE,format,p1,p2); \
data/apng2gif-1.8/libpng/pngerror.c:734:10:  [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, PNG_STRING_NEWLINE);
data/apng2gif-1.8/libpng/pngerror.c:741:10:  [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, PNG_STRING_NEWLINE);
data/apng2gif-1.8/libpng/pngerror.c:749: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(stderr, PNG_STRING_NEWLINE);
data/apng2gif-1.8/libpng/pngerror.c:805:10:  [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, PNG_STRING_NEWLINE);
data/apng2gif-1.8/libpng/pngerror.c:812:10:  [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, PNG_STRING_NEWLINE);
data/apng2gif-1.8/libpng/pngerror.c:820: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(stderr, PNG_STRING_NEWLINE);
data/apng2gif-1.8/zlib/gzguts.h:78:18:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
#    if !defined(vsnprintf) && !defined(NO_vsnprintf)
data/apng2gif-1.8/zlib/gzguts.h:80:18:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
#         define vsnprintf _vsnprintf
data/apng2gif-1.8/zlib/gzguts.h:103:11:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
#  define snprintf _snprintf
data/apng2gif-1.8/zlib/gzguts.h:103:20:  [4] (format) _snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
#  define snprintf _snprintf
data/apng2gif-1.8/zlib/gzlib.c:216:9:  [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(state->path, path);
data/apng2gif-1.8/zlib/gzlib.c:610:5:  [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(state->msg, state->path);
data/apng2gif-1.8/zlib/gzlib.c:612: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(state->msg, msg);
data/apng2gif-1.8/zlib/gzwrite.c:346:11:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    (void)vsprintf((char *)(state->in), format, va);
data/apng2gif-1.8/zlib/gzwrite.c:350:11:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    len = vsprintf((char *)(state->in), format, va);
data/apng2gif-1.8/zlib/gzwrite.c:354:11:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    (void)vsnprintf((char *)(state->in), size, format, va);
data/apng2gif-1.8/zlib/gzwrite.c:357:11:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    len = vsnprintf((char *)(state->in), size, format, va);
data/apng2gif-1.8/zlib/gzwrite.c:431:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf((char *)(state->in), format, a1, a2, a3, a4, a5, a6, a7, a8,
data/apng2gif-1.8/zlib/gzwrite.c:436:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    len = sprintf((char *)(state->in), format, a1, a2, a3, a4, a5, a6, a7, a8,
data/apng2gif-1.8/zlib/gzwrite.c:441:5:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    snprintf((char *)(state->in), size, format, a1, a2, a3, a4, a5, a6, a7, a8,
data/apng2gif-1.8/zlib/gzwrite.c:445:11:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    len = snprintf((char *)(state->in), size, format, a1, a2, a3, a4, a5, a6,
data/apng2gif-1.8/zlib/zutil.h:224:39:  [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 Trace(x) {if (z_verbose>=0) fprintf x ;}
data/apng2gif-1.8/zlib/zutil.h:225:39:  [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 Tracev(x) {if (z_verbose>0) fprintf x ;}
data/apng2gif-1.8/zlib/zutil.h:226:40:  [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 Tracevv(x) {if (z_verbose>1) fprintf x ;}
data/apng2gif-1.8/zlib/zutil.h:227:48:  [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 Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
data/apng2gif-1.8/zlib/zutil.h:228:49:  [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 Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
data/apng2gif-1.8/apng2gif.cpp:57: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.
unsigned char   pal[256][3];
data/apng2gif-1.8/apng2gif.cpp:62: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.
unsigned char   buf[288];
data/apng2gif-1.8/apng2gif.cpp:63: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.
unsigned char   bigcube[128][128][128];
data/apng2gif-1.8/apng2gif.cpp:69: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.
unsigned char   tag[65*65*65];
data/apng2gif-1.8/apng2gif.cpp:123: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(dp, sp, w*4);
data/apng2gif-1.8/apng2gif.cpp:128:9:  [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(dp, sp, 4);
data/apng2gif-1.8/apng2gif.cpp:143:11:  [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(dp, sp, 4);
data/apng2gif-1.8/apng2gif.cpp:151:12:  [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.
  unsigned char len[4];
data/apng2gif-1.8/apng2gif.cpp:161: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(pChunk->p, len, 4);
data/apng2gif-1.8/apng2gif.cpp:170:12:  [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.
  unsigned char header[8] = {137, 80, 78, 71, 13, 10, 26, 10};
data/apng2gif-1.8/apng2gif.cpp:213:12:  [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.
  unsigned char footer[12] = {0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130};
data/apng2gif-1.8/apng2gif.cpp:235:12:  [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.
  unsigned char sig[8];
data/apng2gif-1.8/apng2gif.cpp:251: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(szIn, "rb")) != 0)
data/apng2gif-1.8/apng2gif.cpp:309:21:  [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(frameNext.p, frameCur.p, imagesize);
data/apng2gif-1.8/apng2gif.cpp:318:21:  [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(frameNext.p, frameCur.p, imagesize);
data/apng2gif-1.8/apng2gif.cpp:354:17:  [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(chunkIHDR.p + 8, chunk.p + 12, 8);
data/apng2gif-1.8/apng2gif.cpp:387:15:  [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(chunk.p + 8, "IDAT", 4);
data/apng2gif-1.8/apng2gif.cpp:1084:12:  [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.
  unsigned char gif_head[13] = {'G', 'I', 'F', '8', '9', 'a', 0, 0, 0, 0, 0, 0, 0};
data/apng2gif-1.8/apng2gif.cpp:1085:12:  [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.
  unsigned char netscape[19] = {0x21, 0xFF, 0x0B, 'N', 'E', 'T', 'S', 'C', 'A', 'P', 'E', '2', '.', '0', 3, 1, 0, 0, 0};
data/apng2gif-1.8/apng2gif.cpp:1086:12:  [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.
  unsigned char gce[8]       = {0x21, 0xF9, 4, 4, 10, 0, 0, 0};
data/apng2gif-1.8/apng2gif.cpp:1087:12:  [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.
  unsigned char img_head[10] = {0x2C, 0, 0, 0, 0, 0, 0, 0, 0, 0};
data/apng2gif-1.8/apng2gif.cpp:1105:13:  [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 ((f1 = fopen(szOut, "wb")) == 0)
data/apng2gif-1.8/apng2gif.cpp:1115:3:  [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(gif_head+6, &w, 2);
data/apng2gif-1.8/apng2gif.cpp:1116:3:  [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(gif_head+8, &h, 2);
data/apng2gif-1.8/apng2gif.cpp:1117:3:  [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(netscape+16, &num_reps, 2);
data/apng2gif-1.8/apng2gif.cpp:1118:3:  [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(img_head+5, &w, 2);
data/apng2gif-1.8/apng2gif.cpp:1119:3:  [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(img_head+7, &h, 2);
data/apng2gif-1.8/apng2gif.cpp:1213:11:  [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(pc, pb, w0);
data/apng2gif-1.8/apng2gif.cpp:1220:11:  [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(gce+4, &img[n].delay_num, 2);
data/apng2gif-1.8/apng2gif.cpp:1224:11:  [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(gce+4, &delay_ms, 2);
data/apng2gif-1.8/apng2gif.cpp:1229: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(img_head+1, &x0, 2);
data/apng2gif-1.8/apng2gif.cpp:1230: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(img_head+3, &y0, 2);
data/apng2gif-1.8/apng2gif.cpp:1231: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(img_head+5, &w0, 2);
data/apng2gif-1.8/apng2gif.cpp:1232: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(img_head+7, &h0, 2);
data/apng2gif-1.8/apng2gif.cpp:1293: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   szOut[256];
data/apng2gif-1.8/apng2gif.cpp:1333:22:  [2] (integer) atoi:
  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).
            tlevel = atoi(szOpt);
data/apng2gif-1.8/apng2gif.cpp:1360:22:  [2] (integer) atoi:
  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).
            back_r = atoi(argv[i]);
data/apng2gif-1.8/apng2gif.cpp:1361:22:  [2] (integer) atoi:
  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).
            back_g = atoi(argv[++i]);
data/apng2gif-1.8/apng2gif.cpp:1362:22:  [2] (integer) atoi:
  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).
            back_b = atoi(argv[++i]);
data/apng2gif-1.8/apng2gif.cpp:1386:5:  [2] (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). Risk is low because the
  source is a constant string.
    strcat(szOut, ".gif");
data/apng2gif-1.8/libpng/png.c:203:7:  [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 m[128];
data/apng2gif-1.8/libpng/png.c:697:31:  [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.
png_convert_to_rfc1123_buffer(char out[29], png_const_timep ptime)
data/apng2gif-1.8/libpng/png.c:699:21:  [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 PNG_CONST char short_months[12][4] =
data/apng2gif-1.8/libpng/png.c:715:7:  [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 number_buf[5]; /* enough for a four-digit year */
data/apng2gif-1.8/libpng/png.c:1793:4:  [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 message[196]; /* see below for calculation */
data/apng2gif-1.8/libpng/png.c:1812: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.
         char number[PNG_NUMBER_BUFFER_SIZE]; /* +24 = 114*/
data/apng2gif-1.8/libpng/png.c:2937: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 exponent[10];
data/apng2gif-1.8/libpng/png.c:3195: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.
         char digits[10];
data/apng2gif-1.8/libpng/png.h:1066:54:  [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.
PNG_EXPORT(241, int, png_convert_to_rfc1123_buffer, (char out[29],
data/apng2gif-1.8/libpng/png.h:2727:4:  [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         message[64];
data/apng2gif-1.8/libpng/pngdebug.h:109: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.
       char format[256]; \
data/apng2gif-1.8/libpng/pngdebug.h:120: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.
       char format[256]; \
data/apng2gif-1.8/libpng/pngdebug.h:131: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.
       char format[256]; \
data/apng2gif-1.8/libpng/pngerror.c:43:4:  [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 msg[16];
data/apng2gif-1.8/libpng/pngerror.c:258:4:  [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[PNG_NUMBER_BUFFER_SIZE];
data/apng2gif-1.8/libpng/pngerror.c:268:4:  [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[PNG_NUMBER_BUFFER_SIZE];
data/apng2gif-1.8/libpng/pngerror.c:293:4:  [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 msg[192];
data/apng2gif-1.8/libpng/pngerror.c:428:18:  [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 PNG_CONST char png_digit[16] = {
data/apng2gif-1.8/libpng/pngerror.c:483:4:  [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 msg[18+PNG_MAX_ERROR_TEXT];
data/apng2gif-1.8/libpng/pngerror.c:499:4:  [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 msg[18+PNG_MAX_ERROR_TEXT];
data/apng2gif-1.8/libpng/pngerror.c:577:4:  [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 msg[fixed_message_ln+PNG_MAX_ERROR_TEXT];
data/apng2gif-1.8/libpng/pngerror.c:578:4:  [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(msg, fixed_message, fixed_message_ln);
data/apng2gif-1.8/libpng/pngerror.c:721:7:  [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 error_number[16];
data/apng2gif-1.8/libpng/pngerror.c:792:7:  [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 warning_number[16];
data/apng2gif-1.8/libpng/pngmem.c:154:13:  [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(new_array, old_array, element_size*(unsigned)old_elements);
data/apng2gif-1.8/libpng/pngpread.c:438: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(ptr, png_ptr->save_buffer_ptr, save_size);
data/apng2gif-1.8/libpng/pngpread.c:455: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(ptr, png_ptr->current_buffer_ptr, save_size);
data/apng2gif-1.8/libpng/pngpread.c:505:10:  [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(png_ptr->save_buffer, old_buffer, png_ptr->save_buffer_size);
data/apng2gif-1.8/libpng/pngpread.c:513: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(png_ptr->save_buffer + png_ptr->save_buffer_size,
data/apng2gif-1.8/libpng/pngpread.c:764:4:  [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(png_ptr->prev_row, png_ptr->row_buf, row_info.rowbytes + 1);
data/apng2gif-1.8/libpng/pngpriv.h:1739: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.
typedef char png_warning_parameters[PNG_WARNING_PARAMETER_COUNT][
data/apng2gif-1.8/libpng/pngread.c:553:4:  [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(png_ptr->prev_row, png_ptr->row_buf, row_info.rowbytes + 1);
data/apng2gif-1.8/libpng/pngread.c:1491: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).
         FILE *fp = fopen(file_name, "rb");
data/apng2gif-1.8/libpng/pngread.c:1539:16:  [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(out, memory, need);
data/apng2gif-1.8/libpng/pngrutil.c:342:7:  [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 msg[64];
data/apng2gif-1.8/libpng/pngrutil.c:685:28:  [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(text, png_ptr->read_buffer, prefix_size);
data/apng2gif-1.8/libpng/pngrutil.c:1404:7:  [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 keyword[81];
data/apng2gif-1.8/libpng/pngrutil.c:1473:28:  [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(profile, profile_header,
data/apng2gif-1.8/libpng/pngrutil.c:1539:43:  [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(info_ptr->iccp_name, keyword,
data/apng2gif-1.8/libpng/pngrutil.c:3513:19:  [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(dp, sp, bytes_to_copy);
data/apng2gif-1.8/libpng/pngrutil.c:3538:4:  [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(dp, sp, PNG_ROWBYTES(pixel_depth, row_width));
data/apng2gif-1.8/libpng/pngrutil.c:3770:16:  [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(v, sp, pixel_bytes);
data/apng2gif-1.8/libpng/pngrutil.c:3774:19:  [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(dp, v, pixel_bytes);
data/apng2gif-1.8/libpng/pngset.c:321:4:  [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(info_ptr->pcal_purpose, purpose, length);
data/apng2gif-1.8/libpng/pngset.c:343:4:  [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(info_ptr->pcal_units, units, length);
data/apng2gif-1.8/libpng/pngset.c:373: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(info_ptr->pcal_params[i], params[i], length);
data/apng2gif-1.8/libpng/pngset.c:423:4:  [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(info_ptr->scal_s_width, swidth, lengthw);
data/apng2gif-1.8/libpng/pngset.c:442:4:  [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(info_ptr->scal_s_height, sheight, lengthh);
data/apng2gif-1.8/libpng/pngset.c:465:7:  [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 swidth[PNG_sCAL_MAX_DIGITS+1];
data/apng2gif-1.8/libpng/pngset.c:466:7:  [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 sheight[PNG_sCAL_MAX_DIGITS+1];
data/apng2gif-1.8/libpng/pngset.c:495:7:  [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 swidth[PNG_sCAL_MAX_DIGITS+1];
data/apng2gif-1.8/libpng/pngset.c:496:7:  [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 sheight[PNG_sCAL_MAX_DIGITS+1];
data/apng2gif-1.8/libpng/pngset.c:579: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(png_ptr->palette, palette, (unsigned int)num_palette *
data/apng2gif-1.8/libpng/pngset.c:688:4:  [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(new_iccp_name, name, length);
data/apng2gif-1.8/libpng/pngset.c:701:4:  [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(new_iccp_profile, profile, proflen);
data/apng2gif-1.8/libpng/pngset.c:871: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(textp->key, text_ptr[i].key, key_len);
data/apng2gif-1.8/libpng/pngset.c:877:10:  [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(textp->lang, text_ptr[i].lang, lang_len);
data/apng2gif-1.8/libpng/pngset.c:880:10:  [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(textp->lang_key, text_ptr[i].lang_key, lang_key_len);
data/apng2gif-1.8/libpng/pngset.c:893:10:  [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(textp->text, text_ptr[i].text, text_length);
data/apng2gif-1.8/libpng/pngset.c:974:11:  [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(info_ptr->trans_alpha, trans_alpha, (png_size_t)num_trans);
data/apng2gif-1.8/libpng/pngset.c:1076: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(np->name, entries->name, length);
data/apng2gif-1.8/libpng/pngset.c:1096: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(np->entries, entries->entries,
data/apng2gif-1.8/libpng/pngset.c:1214: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(np->name, unknowns->name, (sizeof np->name));
data/apng2gif-1.8/libpng/pngset.c:1237:10:  [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(np->data, unknowns->data, unknowns->size);
data/apng2gif-1.8/libpng/pngset.c:1316: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(list, add, 4);
data/apng2gif-1.8/libpng/pngset.c:1416:10:  [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(new_list, png_ptr->chunk_list, 5*old_num_chunks);
data/apng2gif-1.8/libpng/pngset.c:1449:16:  [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(outlist, inlist, 5);
data/apng2gif-1.8/libpng/pngstruct.h:362:4:  [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 time_buffer[29]; /* String to hold RFC 1123 time text */
data/apng2gif-1.8/libpng/pngwrite.c:831:4:  [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(png_ptr->row_buf + 1, row, row_info.rowbytes);
data/apng2gif-1.8/libpng/pngwrite.c:2168:13:  [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(display->memory+ob, data, size);
data/apng2gif-1.8/libpng/pngwrite.c:2327: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).
         FILE *fp = fopen(file_name, "wb");
data/apng2gif-1.8/libpng/pngwutil.c:299:7:  [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 msg[64];
data/apng2gif-1.8/libpng/pngwutil.c:1806:4:  [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(buf + 1, width, wlen + 1);      /* Append the '\0' here */
data/apng2gif-1.8/libpng/pngwutil.c:1807:4:  [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(buf + wlen + 2, height, hlen);  /* Do NOT append the '\0' here */
data/apng2gif-1.8/libpng/pngwutil.c:2226:19:  [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(dp, sp, pixel_bytes);
data/apng2gif-1.8/zlib/crc32.c:145: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).
        out = fopen("crc32.h", "w");
data/apng2gif-1.8/zlib/gzguts.h:39:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
#  define open _open
data/apng2gif-1.8/zlib/gzlib.c:36:12:  [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 buf[1024];
data/apng2gif-1.8/zlib/gzlib.c:65:9:  [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.
        sprintf(buf, "unknown win32 error (%ld)", error);
data/apng2gif-1.8/zlib/gzlib.c:245:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        open((const char *)path, oflag, 0666));
data/apng2gif-1.8/zlib/gzlib.c:296:5:  [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.
    sprintf(path, "<fd:%d>", fd);   /* for debugging */
data/apng2gif-1.8/zlib/gzlib.c:611:5:  [2] (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). Risk is low because the
  source is a constant string.
    strcat(state->msg, ": ");
data/apng2gif-1.8/zlib/gzread.c:158:9:  [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(state->x.next, strm->next_in, strm->avail_in);
data/apng2gif-1.8/zlib/gzread.c:332:13:  [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(buf, state->x.next, n);
data/apng2gif-1.8/zlib/gzread.c:391:14:  [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.
    unsigned char buf[1];
data/apng2gif-1.8/zlib/gzread.c:531:9:  [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(buf, state->x.next, n);
data/apng2gif-1.8/zlib/gzwrite.c:218:13:  [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(state->in + have, buf, copy);
data/apng2gif-1.8/zlib/gzwrite.c:250:14:  [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.
    unsigned char buf[1];
data/apng2gif-1.8/zlib/inflate.c:623:14:  [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.
    unsigned char hbuf[4];      /* buffer for gzip header crc calculation */
data/apng2gif-1.8/zlib/inflate.c:1382:14:  [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.
    unsigned char buf[4];       /* to restore bit buffer to byte string */
data/apng2gif-1.8/zlib/trees.c:330: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).
    FILE *header = fopen("trees.h", "w");
data/apng2gif-1.8/zlib/zutil.c:17: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.
z_const char * const z_errmsg[10] = {
data/apng2gif-1.8/zlib/zutil.h:47:16:  [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 z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
data/apng2gif-1.8/zlib/zutil.h:107:6:  [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).
     fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
data/apng2gif-1.8/zlib/zutil.h:184:30:  [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).
#  define F_OPEN(name, mode) fopen((name), (mode))
data/apng2gif-1.8/zlib/zutil.h:208:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#    define zmemcpy memcpy
data/apng2gif-1.8/apng2gif.cpp:1301:19:  [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 (argc > 1 && strlen(argv[1]) < 256)
data/apng2gif-1.8/libpng/pngrutil.c:2498:28:  [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).
   text_info.text_length = strlen(text);
data/apng2gif-1.8/libpng/pngset.c:278: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).
   length = strlen(purpose) + 1;
data/apng2gif-1.8/libpng/pngset.c:303:43:  [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).
          !png_check_fp_string(params[i], strlen(params[i])))
data/apng2gif-1.8/libpng/pngset.c:329: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).
   length = strlen(units) + 1;
data/apng2gif-1.8/libpng/pngset.c:360:16:  [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).
      length = strlen(params[i]) + 1;
data/apng2gif-1.8/libpng/pngset.c:399:37:  [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 (swidth == NULL || (lengthw = strlen(swidth)) == 0 ||
data/apng2gif-1.8/libpng/pngset.c:403:38:  [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 (sheight == NULL || (lengthh = strlen(sheight)) == 0 ||
data/apng2gif-1.8/libpng/pngset.c:678: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).
   length = strlen(name)+1;
data/apng2gif-1.8/libpng/pngset.c:804:17:  [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).
      key_len = strlen(text_ptr[i].key);
data/apng2gif-1.8/libpng/pngset.c:818:24:  [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).
            lang_len = strlen(text_ptr[i].lang);
data/apng2gif-1.8/libpng/pngset.c:824:28:  [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).
            lang_key_len = strlen(text_ptr[i].lang_key);
data/apng2gif-1.8/libpng/pngset.c:851:24:  [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).
         text_length = strlen(text_ptr[i].text);
data/apng2gif-1.8/libpng/pngset.c:1070:16:  [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).
      length = strlen(entries->name) + 1;
data/apng2gif-1.8/libpng/pngwutil.c:1525: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).
      text_len = strlen(text);
data/apng2gif-1.8/libpng/pngwutil.c:1580:27:  [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).
       text == NULL ? 0 : strlen(text));
data/apng2gif-1.8/libpng/pngwutil.c:1648: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).
   lang_len = strlen(lang)+1;
data/apng2gif-1.8/libpng/pngwutil.c:1650:19:  [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).
   lang_key_len = strlen(lang_key)+1;
data/apng2gif-1.8/libpng/pngwutil.c:1664:57:  [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).
   png_text_compress_init(&comp, (png_const_bytep)text, strlen(text));
data/apng2gif-1.8/libpng/pngwutil.c:1746:16:  [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).
   units_len = strlen(units) + (nparams == 0 ? 0 : 1);
data/apng2gif-1.8/libpng/pngwutil.c:1758:23:  [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).
      params_len[i] = strlen(params[i]) + (i == nparams - 1 ? 0 : 1);
data/apng2gif-1.8/libpng/pngwutil.c:1795: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).
   wlen = strlen(width);
data/apng2gif-1.8/libpng/pngwutil.c:1796: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).
   hlen = strlen(height);
data/apng2gif-1.8/zlib/gzguts.h:40:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#  define read _read
data/apng2gif-1.8/zlib/gzlib.c:199: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).
        len = strlen((const char *)path);
data/apng2gif-1.8/zlib/gzlib.c:601:38:  [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 ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
data/apng2gif-1.8/zlib/gzlib.c:601:60:  [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 ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
data/apng2gif-1.8/zlib/gzlib.c:607:26:  [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).
    snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
data/apng2gif-1.8/zlib/gzlib.c:607:48:  [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).
    snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
data/apng2gif-1.8/zlib/gzread.c:30:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret = read(state->fd, buf + *have, len - *have);
data/apng2gif-1.8/zlib/gzwrite.c:301:21:  [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 = (unsigned)strlen(str);
data/apng2gif-1.8/zlib/gzwrite.c:355: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((char *)(state->in));
data/apng2gif-1.8/zlib/gzwrite.c:443: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((char *)(state->in));

ANALYSIS SUMMARY:

Hits = 203
Lines analyzed = 51804 in approximately 1.42 seconds (36358 lines/second)
Physical Source Lines of Code (SLOC) = 33307
Hits@level = [0]  62 [1]  33 [2] 136 [3]   0 [4]  34 [5]   0
Hits@level+ = [0+] 265 [1+] 203 [2+] 170 [3+]  34 [4+]  34 [5+]   0
Hits/KSLOC@level+ = [0+] 7.95629 [1+] 6.09481 [2+] 5.10403 [3+] 1.02081 [4+] 1.02081 [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.