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/sdl-sound1.2-1.0.3/SDL_sound.h
Examining data/sdl-sound1.2-1.0.3/SDL_sound.c
Examining data/sdl-sound1.2-1.0.3/SDL_sound_internal.h
Examining data/sdl-sound1.2-1.0.3/alt_audio_convert.c
Examining data/sdl-sound1.2-1.0.3/alt_audio_convert.h
Examining data/sdl-sound1.2-1.0.3/audio_convert.c
Examining data/sdl-sound1.2-1.0.3/extra_rwops.c
Examining data/sdl-sound1.2-1.0.3/extra_rwops.h
Examining data/sdl-sound1.2-1.0.3/decoders/aiff.c
Examining data/sdl-sound1.2-1.0.3/decoders/au.c
Examining data/sdl-sound1.2-1.0.3/decoders/mikmod.c
Examining data/sdl-sound1.2-1.0.3/decoders/modplug.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib.c
Examining data/sdl-sound1.2-1.0.3/decoders/smpeg.c
Examining data/sdl-sound1.2-1.0.3/decoders/ogg.c
Examining data/sdl-sound1.2-1.0.3/decoders/raw.c
Examining data/sdl-sound1.2-1.0.3/decoders/shn.c
Examining data/sdl-sound1.2-1.0.3/decoders/voc.c
Examining data/sdl-sound1.2-1.0.3/decoders/midi.c
Examining data/sdl-sound1.2-1.0.3/decoders/flac.c
Examining data/sdl-sound1.2-1.0.3/decoders/speex.c
Examining data/sdl-sound1.2-1.0.3/decoders/quicktime.c
Examining data/sdl-sound1.2-1.0.3/decoders/wav.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/common.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/common.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/dls1.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/dls2.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/instrum_dls.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/instrum_dls.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/mix.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/mix.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/options.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/output.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/output.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/playmidi.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/playmidi.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/readmidi.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/readmidi.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/resample.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/resample.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/tables.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/tables.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.h
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/testmidi.c
Examining data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_common.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/huffman.h
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/layer1.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/tabinit.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/dct64_i386.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/interface.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/layer2.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/mpg123_sdlsound.h
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/decode_i386.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/l2tables.h
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/layer3.c
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_sdlsound.h
Examining data/sdl-sound1.2-1.0.3/decoders/mpglib/main.c
Examining data/sdl-sound1.2-1.0.3/playsound/playsound.c
Examining data/sdl-sound1.2-1.0.3/playsound/physfsrwops.c
Examining data/sdl-sound1.2-1.0.3/playsound/physfsrwops.h
Examining data/sdl-sound1.2-1.0.3/playsound/playsound_simple.c

FINAL RESULTS:

data/sdl-sound1.2-1.0.3/SDL_sound_internal.h:44:19:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define SNDDBG(x) printf x
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_sdlsound.h:6:13:  [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/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_sdlsound.h:6:22:  [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/sdl-sound1.2-1.0.3/decoders/timidity/common.c:72:6:  [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(current_filename, plp->path);
data/sdl-sound1.2-1.0.3/decoders/timidity/common.c:79:2:  [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(current_filename, name);
data/sdl-sound1.2-1.0.3/decoders/timidity/common.c:119: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(plp->path, s);
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.c:190:8:  [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(tmp, name);
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.c:191:8:  [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(tmp, patch_ext[i]);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:309:7:  [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((bank->tone[i].name=safe_malloc(strlen(w[1])+1)),w[1]);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:237: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(path, filename);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:271: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(path, fname);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:646: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(list, _list);
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpg123_sdlsound.h:22:10:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define random rand
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpg123_sdlsound.h:23:10:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srandom srand
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpg123_sdlsound.h:23:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srandom srand
data/sdl-sound1.2-1.0.3/SDL_sound.c:189: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 error_string[128];
data/sdl-sound1.2-1.0.3/SDL_sound.c:482: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(&retval->desired, desired, sizeof (Sound_AudioInfo));
data/sdl-sound1.2-1.0.3/SDL_sound.c:531:17:  [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).
    if (!funcs->open(sample, ext))
data/sdl-sound1.2-1.0.3/SDL_sound.c:541: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(&desired, (_desired != NULL) ? _desired : &sample->actual,
data/sdl-sound1.2-1.0.3/SDL_sound.c:581: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(&sample->desired, &desired, sizeof (Sound_AudioInfo));
data/sdl-sound1.2-1.0.3/SDL_sound.c:843: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( ((char *) buf) + newBufSize, sample->buffer, br );
data/sdl-sound1.2-1.0.3/SDL_sound_internal.h:135: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).
    int (*open)(Sound_Sample *sample, const char *ext);
data/sdl-sound1.2-1.0.3/decoders/modplug.c:237: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(&sample->actual, &current_audioinfo, sizeof (Sound_AudioInfo));
data/sdl-sound1.2-1.0.3/decoders/modplug.c:242: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(&sample->actual, &sample->desired, sizeof (Sound_AudioInfo));
data/sdl-sound1.2-1.0.3/decoders/modplug.c:250: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(&current_audioinfo, &sample->actual, sizeof (Sound_AudioInfo));
data/sdl-sound1.2-1.0.3/decoders/mpglib.c:205: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(((Uint8 *) internal->buffer) + bw,
data/sdl-sound1.2-1.0.3/decoders/mpglib/interface.c:64:2:  [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(nbuf->pnt,buf,size);
data/sdl-sound1.2-1.0.3/decoders/mpglib/interface.c:195: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(wordpointer+len,mp->tail->pnt+mp->tail->pos,nlen);
data/sdl-sound1.2-1.0.3/decoders/mpglib/interface.c:229: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[128];
data/sdl-sound1.2-1.0.3/decoders/mpglib/interface.c:236: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(wordpointer,bsbufold+mp->fsizeold-backstep,backstep);
data/sdl-sound1.2-1.0.3/decoders/mpglib/layer3.c:461:26:  [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 const unsigned char slen[2][16] = {
data/sdl-sound1.2-1.0.3/decoders/mpglib/layer3.c:551:19:  [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 unsigned char stab[3][6][4] = {
data/sdl-sound1.2-1.0.3/decoders/mpglib/layer3.c:958: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[128];
data/sdl-sound1.2-1.0.3/decoders/mpglib/layer3.c:1372: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[128];
data/sdl-sound1.2-1.0.3/decoders/mpglib/main.c:7:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char buf[16384];
data/sdl-sound1.2-1.0.3/decoders/mpglib/main.c:13: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 out[8192];
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_common.c:155: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.
	static char *modes[4] = { "Stereo", "Joint-Stereo", "Dual-Channel", "Single-Channel" };
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_common.c:156: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.
	static char *layers[4] = { "Unknown" , "I", "II", "III" };
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_common.c:172: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.
	static char *modes[4] = { "stereo", "joint-stereo", "dual-channel", "mono" };
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_common.c:173: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.
	static char *layers[4] = { "Unknown" , "I", "II", "III" };
data/sdl-sound1.2-1.0.3/decoders/mpglib/mpglib_sdlsound.h:30:11:  [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 bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */
data/sdl-sound1.2-1.0.3/decoders/raw.c:122: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(&sample->actual, &sample->desired, sizeof (Sound_AudioInfo));
data/sdl-sound1.2-1.0.3/decoders/shn.c:521: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(word, chars, sizeof (*word));
data/sdl-sound1.2-1.0.3/decoders/shn.c:541: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(word, chars, sizeof (*word));
data/sdl-sound1.2-1.0.3/decoders/shn.c:676: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(shn, &_shn, sizeof (shn_t));
data/sdl-sound1.2-1.0.3/decoders/shn.c:1057: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((char *)internal->buffer + bw, shn->backBuffer, i);
data/sdl-sound1.2-1.0.3/decoders/shn.c:1059: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(shn->backBuffer, shn->backBuffer + i, shn->backBufLeft);
data/sdl-sound1.2-1.0.3/decoders/shn.c:1082: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(internal->buffer, shn->backBuffer, retval);
data/sdl-sound1.2-1.0.3/decoders/shn.c:1084: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(shn->backBuffer, shn->backBuffer + retval, shn->backBufLeft);
data/sdl-sound1.2-1.0.3/decoders/speex.c:135: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(&header, hptr, sizeof (SpeexHeader)); /* move to stack. */
data/sdl-sound1.2-1.0.3/decoders/timidity/common.c:62: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 current_filename[1024];
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.c:175: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 tmp[1024];
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum_dls.c:221: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 prefix[128];
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum_dls.c:1163: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(sample->data, wave->data, wave->length);
data/sdl-sound1.2-1.0.3/decoders/timidity/readmidi.c:280: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 tmp[4];
data/sdl-sound1.2-1.0.3/decoders/timidity/readmidi.c:502: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 tmp[4];
data/sdl-sound1.2-1.0.3/decoders/timidity/resample.c:556: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.
  static const char note_name[12][3] =
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:48:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char def_instr_name[256] = "";
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:85: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 tmp[1024], *w[MAXWORDS], *cp;
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:248:9:  [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).
      i=atoi(w[1]);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:271:9:  [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).
      i=atoi(w[1]);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:294:9:  [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).
      i=atoi(w[0]);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:324:6:  [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).
	  k=atoi(cp);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:335:6:  [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).
	  k=atoi(cp);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:353:10:  [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).
	    k=((atoi(cp)+100) * 100) / 157;
data/sdl-sound1.2-1.0.3/playsound/playsound.c:493: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(dst, src, len);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:620:23:  [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).
            minutes = atoi(str);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:625:19:  [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).
        seconds = atoi(str);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:629:10:  [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).
    ms = atoi(str);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:850:34:  [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).
            sound_desired.rate = atoi(argv[++i]);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:873: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).
            sound_desired.channels = atoi(argv[++i]);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:885:32:  [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).
            audio_buffersize = atoi(argv[++i]);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:890:33:  [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).
            decode_buffersize = atoi(argv[++i]);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:907:36:  [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).
            global_state.looping = atoi(argv[++i]);
data/sdl-sound1.2-1.0.3/playsound/playsound_simple.c:100: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(stream + bw, (Uint8 *) data->decoded_ptr, cpysize);
data/sdl-sound1.2-1.0.3/SDL_sound.c:394:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(err->error_string, str, sizeof (err->error_string));
data/sdl-sound1.2-1.0.3/SDL_sound.c:805:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    retval = internal->funcs->read(sample);
data/sdl-sound1.2-1.0.3/SDL_sound_internal.h:181:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Uint32 (*read)(Sound_Sample *sample);
data/sdl-sound1.2-1.0.3/decoders/mpglib/main.c:20:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		len = read(0,buf,16384);
data/sdl-sound1.2-1.0.3/decoders/timidity/common.c:69:6:  [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).
	l = strlen(plp->path);
data/sdl-sound1.2-1.0.3/decoders/timidity/common.c:112: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).
  plp->path = safe_malloc(strlen(s) + 1);
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.c:188:8:  [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(name)+strlen(patch_ext[i])<1024)
data/sdl-sound1.2-1.0.3/decoders/timidity/instrum.c:188: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).
	  if (strlen(name)+strlen(patch_ext[i])<1024)
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:238:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(def_instr_name, w[1], 255);
data/sdl-sound1.2-1.0.3/decoders/timidity/timidity.c:309:46:  [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).
      strcpy((bank->tone[i].name=safe_malloc(strlen(w[1])+1)),w[1]);
data/sdl-sound1.2-1.0.3/extra_rwops.c:57:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return(data->rw->read(data->rw, ptr, size, maxnum));
data/sdl-sound1.2-1.0.3/playsound/playsound.c:228: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).
    char *path = (char *) malloc(strlen(filename) + 1);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:269: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).
        char *path = (char *) malloc(strlen(fname) + 1);
data/sdl-sound1.2-1.0.3/playsound/playsound.c:638:33:  [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).
    char *list = (char*) malloc(strlen(_list) + 1);

ANALYSIS SUMMARY:

Hits = 89
Lines analyzed = 23741 in approximately 0.68 seconds (35021 lines/second)
Physical Source Lines of Code (SLOC) = 16602
Hits@level = [0] 137 [1]  14 [2]  60 [3]   3 [4]  12 [5]   0
Hits@level+ = [0+] 226 [1+]  89 [2+]  75 [3+]  15 [4+]  12 [5+]   0
Hits/KSLOC@level+ = [0+] 13.6128 [1+] 5.3608 [2+] 4.51753 [3+] 0.903506 [4+] 0.722804 [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.