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/mkcue-1/diskid.cc
Examining data/mkcue-1/diskid.h
Examining data/mkcue-1/errors.h
Examining data/mkcue-1/osdep/mb_beos.cpp
Examining data/mkcue-1/osdep/mb_beos.h
Examining data/mkcue-1/osdep/mb_cygwin.cpp
Examining data/mkcue-1/osdep/mb_cygwin.h
Examining data/mkcue-1/osdep/mb_darwin.cpp
Examining data/mkcue-1/osdep/mb_darwin.h
Examining data/mkcue-1/osdep/mb_freebsd.cpp
Examining data/mkcue-1/osdep/mb_freebsd.h
Examining data/mkcue-1/osdep/mb_irix.cpp
Examining data/mkcue-1/osdep/mb_irix.h
Examining data/mkcue-1/osdep/mb_linux.cpp
Examining data/mkcue-1/osdep/mb_linux.h
Examining data/mkcue-1/osdep/mb_netbsd.cpp
Examining data/mkcue-1/osdep/mb_netbsd.h
Examining data/mkcue-1/osdep/mb_openbsd.cpp
Examining data/mkcue-1/osdep/mb_openbsd.h
Examining data/mkcue-1/osdep/mb_os2.cpp
Examining data/mkcue-1/osdep/mb_os2.h
Examining data/mkcue-1/osdep/mb_qnx.cpp
Examining data/mkcue-1/osdep/mb_qnx.h
Examining data/mkcue-1/osdep/mb_solaris.cpp
Examining data/mkcue-1/osdep/mb_solaris.h
Examining data/mkcue-1/osdep/mb_win32.cpp
Examining data/mkcue-1/osdep/mb_win32.h
Examining data/mkcue-1/types.h
Examining data/mkcue-1/mkcue.cc

FINAL RESULTS:

data/mkcue-1/osdep/mb_beos.cpp:72:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(err, "Error while accessing the CD drive: %s.", 
data/mkcue-1/osdep/mb_beos.cpp:85:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(err, "Error while accessing %s: %s.", 
data/mkcue-1/osdep/mb_cygwin.h:97:12:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
#definedef ShellExecute ShellExecuteW
data/mkcue-1/osdep/mb_cygwin.h:101:9:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
#define ShellExecute ShellExecuteA
data/mkcue-1/osdep/mb_darwin.cpp:64:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err, "Cannot open '%s'", device);
data/mkcue-1/osdep/mb_freebsd.cpp:114:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err, "Cannot open '%s'", device);
data/mkcue-1/osdep/mb_irix.cpp:128:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err, "Cannot open %s", 
data/mkcue-1/osdep/mb_irix.cpp:132:12:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
           sprintf(err + strlen(err), ": %s", strerror(errno));
data/mkcue-1/osdep/mb_linux.cpp:139:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err,"Cannot open '%s'", device);
data/mkcue-1/osdep/mb_netbsd.cpp:111:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err, "Cannot open '%s'", device);
data/mkcue-1/osdep/mb_openbsd.cpp:112:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err, "Cannot open '%s'\n", device);
data/mkcue-1/osdep/mb_solaris.cpp:118:8:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
       sprintf(err, "Cannot open '%s'", device);
data/mkcue-1/osdep/mb_win32.cpp:60:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	  sprintf(temp, "%s type cdaudio", cd_desc);
data/mkcue-1/osdep/mb_win32.cpp:72:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(mciCommand, "open %s shareable alias %s wait", cd_desc, alias);
data/mkcue-1/osdep/mb_win32.cpp:78:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(mciCommand, "status %s number of tracks wait", cd_desc);
data/mkcue-1/osdep/mb_win32.cpp:88:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(mciCommand, "set %s time format msf wait", cd_desc);
data/mkcue-1/osdep/mb_win32.cpp:92:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(mciCommand, "status %s position track %d wait",
data/mkcue-1/osdep/mb_win32.cpp:100:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(mciCommand, "status %s length track %d wait",
data/mkcue-1/osdep/mb_win32.cpp:109:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(mciCommand, "close %s wait", cd_desc);
data/mkcue-1/mkcue.cc:34:18:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ((ch = getopt(argc, argv, "t:v")) != -1) {
data/mkcue-1/diskid.cc:62: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.
   unsigned char  digest[20], *base64;
data/mkcue-1/diskid.cc:82:25:  [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 DiscId[33])
data/mkcue-1/diskid.cc:85: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.
   unsigned char  digest[20], *base64;
data/mkcue-1/diskid.cc:87: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           temp[9];
data/mkcue-1/diskid.cc:95:4:  [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(temp, "%02X", pCDInfo->FirstTrack);
data/mkcue-1/diskid.cc:98:4:  [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(temp, "%02X", pCDInfo->LastTrack);
data/mkcue-1/diskid.cc:103:8:  [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(temp, "%08lX", pCDInfo->FrameOffset[i]);
data/mkcue-1/diskid.cc:109: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(DiscId, base64, size);
data/mkcue-1/diskid.cc:116: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   text[100];
data/mkcue-1/diskid.cc:118:4:  [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(text, "%d", i);
data/mkcue-1/diskid.cc:154: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  id[33];
data/mkcue-1/diskid.cc:217: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  id[33];
data/mkcue-1/diskid.cc:289: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  id[33], toc_string[1024], tracks[10];
data/mkcue-1/diskid.cc:299:4:  [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(toc_string,
data/mkcue-1/diskid.cc:307:8:  [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(toc_string + strlen(toc_string),
data/mkcue-1/diskid.cc:312:4:  [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(tracks, "%d", cdinfo.LastTrack);
data/mkcue-1/osdep/mb_beos.cpp:71:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char err[255];
data/mkcue-1/osdep/mb_beos.cpp:84:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char err[255];
data/mkcue-1/osdep/mb_beos.cpp:195:21:  [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).
            devfd = open(name, O_RDONLY); 
data/mkcue-1/osdep/mb_cygwin.cpp:81:79:  [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).
        mciOpenParms.lpstrDeviceType = (LPSTR) MAKELONG(MCI_DEVTYPE_CD_AUDIO, atoi(device));
data/mkcue-1/osdep/mb_cygwin.cpp:87: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 err[256];
data/mkcue-1/osdep/mb_cygwin.cpp:89:13:  [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(err, "Cannot open device id %d.", atoi(device));
data/mkcue-1/osdep/mb_cygwin.cpp:89:55:  [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).
            sprintf(err, "Cannot open device id %d.", atoi(device));
data/mkcue-1/osdep/mb_darwin.cpp:59: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).
   fd = open(device, O_RDONLY | O_NONBLOCK);
data/mkcue-1/osdep/mb_darwin.cpp:62: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 err[256];
data/mkcue-1/osdep/mb_freebsd.cpp:109: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).
   fd = open(device, O_RDONLY);
data/mkcue-1/osdep/mb_freebsd.cpp:112: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 err[256];
data/mkcue-1/osdep/mb_irix.cpp:124: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 err[256];
data/mkcue-1/osdep/mb_irix.cpp:142:8:  [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(err, "The CD-ROM isn't ready. Reason: ");
data/mkcue-1/osdep/mb_irix.cpp:146:12:  [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(err, "The drive does not have a CD loaded.");
data/mkcue-1/osdep/mb_irix.cpp:150:12:  [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(err, "The drive is loaded with a CD-ROM.  Subsequent ");
data/mkcue-1/osdep/mb_irix.cpp:151:12:  [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(err, "play or read operations will return I/O errors.");
data/mkcue-1/osdep/mb_irix.cpp:155:12:  [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(err, "An error occurred while trying to read the disc or");
data/mkcue-1/osdep/mb_irix.cpp:156:12:  [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(err, " it table of contents.");
data/mkcue-1/osdep/mb_irix.cpp:160:12:  [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(err, "The drive is in CD player mode playing an audio ");
data/mkcue-1/osdep/mb_irix.cpp:161:12:  [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(err, "CD through its audio jacks.");
data/mkcue-1/osdep/mb_irix.cpp:166:12:  [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(err, "The drive is in CD player mode with play paused.");
data/mkcue-1/osdep/mb_irix.cpp:170:12:  [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(err, "An unknown error occured.");
data/mkcue-1/osdep/mb_linux.cpp:135: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).
   fd = open(device, O_RDONLY | O_NONBLOCK);
data/mkcue-1/osdep/mb_linux.cpp:138: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 err[256];
data/mkcue-1/osdep/mb_netbsd.cpp:101: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 err[256];
data/mkcue-1/osdep/mb_netbsd.cpp:108: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).
   fd = open(device, O_RDONLY);
data/mkcue-1/osdep/mb_openbsd.cpp:108: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).
   fd = open(device, O_RDONLY);
data/mkcue-1/osdep/mb_openbsd.cpp:111: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 err[256];
data/mkcue-1/osdep/mb_os2.cpp:60:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char err[256];
data/mkcue-1/osdep/mb_os2.cpp:77:79:  [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).
        mciOpenParms.lpstrDeviceType = (LPSTR) MAKELONG(MCI_DEVTYPE_CD_AUDIO, atoi(device));
data/mkcue-1/osdep/mb_os2.cpp:83:13:  [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(err, "Cannot open device id %d.", atoi(device));
data/mkcue-1/osdep/mb_os2.cpp:83:55:  [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).
            sprintf(err, "Cannot open device id %d.", atoi(device));
data/mkcue-1/osdep/mb_solaris.cpp:108: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 err[256];
data/mkcue-1/osdep/mb_solaris.cpp:115: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).
   fd = open(device, O_RDONLY);
data/mkcue-1/osdep/mb_win32.cpp:52: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      mciCommand[128];
data/mkcue-1/osdep/mb_win32.cpp:53: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      mciReturn[128];
data/mkcue-1/osdep/mb_win32.cpp:54: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      buf[256], alias[128], temp[128];
data/mkcue-1/osdep/mb_win32.cpp:64:4:  [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(alias, "mb_client_%u_%u", GetTickCount(), GetCurrentThreadId());
data/mkcue-1/osdep/mb_win32.cpp:67:4:  [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(mciCommand, "sysinfo cdaudio quantity wait", cd_desc);
data/mkcue-1/osdep/mb_win32.cpp:69:8:  [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).
   if (atoi(mciReturn) <= 0)
data/mkcue-1/osdep/mb_win32.cpp:84:16:  [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).
   numTracks = atoi(mciReturn);
data/mkcue-1/osdep/mb_win32.cpp:96:38:  [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).
      disc.FrameOffset[readtracks] = atoi(mciReturn) * 4500 +  
data/mkcue-1/osdep/mb_win32.cpp:97:38:  [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).
                                     atoi(mciReturn + 3) * 75 + 
data/mkcue-1/osdep/mb_win32.cpp:98:38:  [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).
                                     atoi(mciReturn + 6);
data/mkcue-1/osdep/mb_win32.cpp:104:26:  [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).
   disc.FrameOffset[0] = atoi(mciReturn) * 4500 +  
data/mkcue-1/osdep/mb_win32.cpp:105:26:  [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).
                         atoi(mciReturn + 3) * 75 + 
data/mkcue-1/osdep/mb_win32.cpp:106:26:  [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).
                         atoi(mciReturn + 6) +
data/mkcue-1/diskid.cc:96:44:  [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).
   sha_update(&sha, (unsigned char *)temp, strlen(temp));
data/mkcue-1/diskid.cc:99:44:  [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).
   sha_update(&sha, (unsigned char *)temp, strlen(temp));
data/mkcue-1/diskid.cc:104: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).
       sha_update(&sha, (unsigned char *)temp, strlen(temp));
data/mkcue-1/diskid.cc:307:29:  [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).
       sprintf(toc_string + strlen(toc_string),
data/mkcue-1/osdep/mb_irix.cpp:132: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).
           sprintf(err + strlen(err), ": %s", strerror(errno));
data/mkcue-1/osdep/mb_win32.cpp:56: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).
   if (cd_desc == NULL || strlen(cd_desc) == 0 || strcmp(cd_desc, "cdaudio") == 0)

ANALYSIS SUMMARY:

Hits = 89
Lines analyzed = 3265 in approximately 0.10 seconds (32721 lines/second)
Physical Source Lines of Code (SLOC) = 1747
Hits@level = [0]   7 [1]   6 [2]  63 [3]   1 [4]  19 [5]   0
Hits@level+ = [0+]  96 [1+]  89 [2+]  83 [3+]  20 [4+]  19 [5+]   0
Hits/KSLOC@level+ = [0+] 54.9513 [1+] 50.9445 [2+] 47.51 [3+] 11.4482 [4+] 10.8758 [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.