SDL_mixer: timidity: killed safe_malloc().

From ecd95f308a67ff88ae69a7ddb003ae8dcf70c8d6 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Wed, 17 Mar 2021 23:56:50 +0300
Subject: [PATCH] timidity: killed safe_malloc().

---
 src/codecs/timidity/common.c   | 40 ++++++++++------------------------
 src/codecs/timidity/common.h   |  4 +---
 src/codecs/timidity/instrum.c  |  8 +++----
 src/codecs/timidity/readmidi.c |  9 ++++----
 src/codecs/timidity/resample.c |  2 +-
 src/codecs/timidity/timidity.c | 39 ++++++++++++---------------------
 6 files changed, 35 insertions(+), 67 deletions(-)

diff --git a/src/codecs/timidity/common.c b/src/codecs/timidity/common.c
index 96f9f39..527787f 100644
--- a/src/codecs/timidity/common.c
+++ b/src/codecs/timidity/common.c
@@ -1,5 +1,4 @@
 /*
-
     TiMidity -- Experimental MIDI to WAVE converter
     Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
 
@@ -37,16 +36,15 @@ SDL_RWops *open_file(const char *name)
 {
   SDL_RWops *rw;
 
-  if (!name || !(*name))
-    {
+  if (!name || !(*name)) {
       SNDDBG(("Attempted to open nameless file.\n"));
-      return 0;
-    }
+      return NULL;
+  }
 
   /* First try the given name */
 
   SNDDBG(("Trying to open %s\n", name));
-  if ((rw = SDL_RWFromFile(name, "rb")))
+  if ((rw = SDL_RWFromFile(name, "rb")) != NULL)
     return rw;
 
   if (!is_abspath(name))
@@ -56,18 +54,15 @@ SDL_RWops *open_file(const char *name)
     char *p;
     size_t l;
 
-    while (plp)  /* Try along the path then */
-      {
+    while (plp) { /* Try along the path then */
 	*current_filename = 0;
 	p = current_filename;
 	l = SDL_strlen(plp->path);
 	if(l >= sizeof(current_filename) - 3) l = 0;
-	if(l)
-	  {
+	if(l) {
 	    SDL_memcpy(current_filename, plp->path, l);
 	    p += l;
-	    if(!is_dirsep(p[-1]))
-	    {
+	    if(!is_dirsep(p[-1])) {
 	      *p++ = CHAR_DIRSEP;
 	       l++;
 	    }
@@ -79,34 +74,21 @@ SDL_RWops *open_file(const char *name)
 	plp = plp->next;
       }
   }
-  
+
   /* Nothing could be opened. */
   SNDDBG(("Could not open %s\n", name));
-  return 0;
-}
-
-/* This'll allocate memory or die. */
-void *safe_malloc(size_t count)
-{
-  void *p;
-
-  p = SDL_malloc(count);
-  if (p == NULL) {
-    SNDDBG(("Sorry. Couldn't malloc %d bytes.\n", count));
-  }
-
-  return p;
+  return NULL;
 }
 
 /* This adds a directory to the path list */
 void add_to_pathlist(const char *s, size_t l)
 {
-  PathList *plp = safe_malloc(sizeof(PathList));
+  PathList *plp = SDL_malloc(sizeof(PathList));
 
   if (plp == NULL)
       return;
 
-  plp->path = safe_malloc(l + 1);
+  plp->path = SDL_malloc(l + 1);
   if (plp->path == NULL) {
       SDL_free (plp);
       return;
diff --git a/src/codecs/timidity/common.h b/src/codecs/timidity/common.h
index 0b9b97b..f6faa9f 100644
--- a/src/codecs/timidity/common.h
+++ b/src/codecs/timidity/common.h
@@ -1,15 +1,13 @@
 /*
-
     TiMidity -- Experimental MIDI to WAVE converter
     Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the Perl Artistic License, available in COPYING.
 
-   common.h
+    common.h
 */
 
 extern SDL_RWops *open_file(const char *name);
 extern void add_to_pathlist(const char *s, size_t len);
-extern void *safe_malloc(size_t count);
 extern void free_pathlist(void);
diff --git a/src/codecs/timidity/instrum.c b/src/codecs/timidity/instrum.c
index a69b9d4..1c58379 100644
--- a/src/codecs/timidity/instrum.c
+++ b/src/codecs/timidity/instrum.c
@@ -204,9 +204,9 @@ static Instrument *load_instrument(MidiSong *song, char *name, int percussion,
       return 0;
     }
 
-  ip=safe_malloc(sizeof(Instrument));
+  ip=SDL_malloc(sizeof(Instrument));
   ip->samples = tmp[198];
-  ip->sample = safe_malloc(sizeof(Sample) * ip->samples);
+  ip->sample = SDL_malloc(sizeof(Sample) * ip->samples);
   for (i=0; i<ip->samples; i++)
     {
       Uint8 fractions;
@@ -367,7 +367,7 @@ static Instrument *load_instrument(MidiSong *song, char *name, int percussion,
 	}
 
       /* Then read the sample data */
-      sp->data = (sample_t *) safe_malloc(sp->data_length+4);
+      sp->data = (sample_t *) SDL_malloc(sp->data_length+4);
       if (1 != SDL_RWread(rw, sp->data, sp->data_length, 1))
 	goto fail;
 
@@ -379,7 +379,7 @@ static Instrument *load_instrument(MidiSong *song, char *name, int percussion,
 	  sp->data_length *= 2;
 	  sp->loop_start *= 2;
 	  sp->loop_end *= 2;
-	  tmp16 = new16 = (Uint16 *) safe_malloc(sp->data_length+4);
+	  tmp16 = new16 = (Uint16 *) SDL_malloc(sp->data_length+4);
 	  while (k--)
 	    *tmp16++ = (Uint16)(*cp++) << 8;
 	  SDL_free(sp->data);
diff --git a/src/codecs/timidity/readmidi.c b/src/codecs/timidity/readmidi.c
index 34ff22f..5245c5d 100644
--- a/src/codecs/timidity/readmidi.c
+++ b/src/codecs/timidity/readmidi.c
@@ -52,7 +52,7 @@ static int dumpstring(SDL_RWops *rw, Sint32 len, Uint8 type)
   static char *label[]={
     "Text event: ", "Text: ", "Copyright: ", "Track name: ",
     "Instrument: ", "Lyric: ", "Marker: ", "Cue point: "};
-  signed char *s=safe_malloc(len+1);
+  signed char *s=SDL_malloc(len+1);
   if (len != (Sint32) SDL_RWread(rw, s, 1, len))
     {
       SDL_free(s);
@@ -71,7 +71,7 @@ static int dumpstring(SDL_RWops *rw, Sint32 len, Uint8 type)
 #endif
 
 #define MIDIEVENT(at,t,ch,pa,pb) \
-  new=safe_malloc(sizeof(MidiEventList)); \
+  new=SDL_malloc(sizeof(MidiEventList)); \
   new->event.time=at; new->event.type=t; new->event.channel=ch; \
   new->event.a=pa; new->event.b=pb; new->next=0;\
   return new;
@@ -358,7 +358,7 @@ static MidiEvent *groom_list(MidiSong *song, Sint32 divisions,Sint32 *eventsp,
   compute_sample_increment(song, tempo, divisions);
 
   /* This may allocate a bit more than we need */
-  groomed_list=lp=safe_malloc(sizeof(MidiEvent) * (song->event_count+1));
+  groomed_list=lp=SDL_malloc(sizeof(MidiEvent) * (song->event_count+1));
   meep=song->evlist;
 
   our_event_count=0;
@@ -573,8 +573,7 @@ MidiEvent *read_midi_file(MidiSong *song, Sint32 *count, Sint32 *sp)
 	  format, tracks, divisions));
 
   /* Put a do-nothing event first in the list for easier processing */
-  song->evlist=safe_malloc(sizeof(MidiEventList));
-  SDL_memset(song->evlist, 0, sizeof(MidiEventList));
+  song->evlist=SDL_calloc(1, sizeof(MidiEventList));
   song->event_count++;
 
   switch(format)
diff --git a/src/codecs/timidity/resample.c b/src/codecs/timidity/resample.c
index 9b29f0c..66b2f7c 100644
--- a/src/codecs/timidity/resample.c
+++ b/src/codecs/timidity/resample.c
@@ -558,7 +558,7 @@ void pre_resample(MidiSong *song, Sample *sp)
     return;
   }
 
-  dest = newdata = (Sint16 *) safe_malloc((newlen >> (FRACTION_BITS - 1)) + 2);
+  dest = newdata = (Sint16 *) SDL_malloc((newlen >> (FRACTION_BITS - 1)) + 2);
   if (!dest)
     return;
 
diff --git a/src/codecs/timidity/timidity.c b/src/codecs/timidity/timidity.c
index 59c2073..bb5d589 100644
--- a/src/codecs/timidity/timidity.c
+++ b/src/codecs/timidity/timidity.c
@@ -246,10 +246,8 @@ static int read_config_file(const char *name)
       }
       if (!master_drumset[i])
       {
-	master_drumset[i] = safe_malloc(sizeof(ToneBank));
-	SDL_memset(master_drumset[i], 0, sizeof(ToneBank));
-	master_drumset[i]->tone = safe_malloc(128 * sizeof(ToneBankElement));
-	SDL_memset(master_drumset[i]->tone, 0, 128 * sizeof(ToneBankElement));
+	master_drumset[i] = SDL_calloc(1, sizeof(ToneBank));
+	master_drumset[i]->tone = SDL_calloc(128, sizeof(ToneBankElement));
       }
       bank=master_drumset[i];
     }
@@ -269,10 +267,8 @@ static int read_config_file(const char *name)
       }
       if (!master_tonebank[i])
       {
-	master_tonebank[i] = safe_malloc(sizeof(ToneBank));
-	SDL_memset(master_tonebank[i], 0, sizeof(ToneBank));
-	master_tonebank[i]->tone = safe_malloc(128 * sizeof(ToneBankElement));
-	SDL_memset(master_tonebank[i]->tone, 0, 128 * sizeof(ToneBankElement));
+	master_tonebank[i] = SDL_calloc(1, sizeof(ToneBank));
+	master_tonebank[i]->tone = SDL_calloc(128, sizeof(ToneBankElement));
       }
       bank=master_tonebank[i];
     }
@@ -300,7 +296,7 @@ static int read_config_file(const char *name)
       if (bank->tone[i].name)
 	SDL_free(bank->tone[i].name);
       sz = SDL_strlen(w[1])+1;
-      bank->tone[i].name=safe_malloc(sz);
+      bank->tone[i].name=SDL_malloc(sz);
       SDL_memcpy(bank->tone[i].name,w[1],sz);
       bank->tone[i].note=bank->tone[i].amp=bank->tone[i].pan=
       bank->tone[i].strip_loop=bank->tone[i].strip_envelope=
@@ -399,15 +395,11 @@ static int read_config_file(const char *name)
 int Timidity_Init_NoConfig(void)
 {
   /* Allocate memory for the standard tonebank and drumset */
-  master_tonebank[0] = safe_malloc(sizeof(ToneBank));
-  SDL_memset(master_tonebank[0], 0, sizeof(ToneBank));
-  master_tonebank[0]->tone = safe_malloc(128 * sizeof(ToneBankElement));
-  SDL_memset(master_tonebank[0]->tone, 0, 128 * sizeof(ToneBankElement));
+  master_tonebank[0] = SDL_calloc(1, sizeof(ToneBank));
+  master_tonebank[0]->tone = SDL_calloc(128, sizeof(ToneBankElement));
 
-  master_drumset[0] = safe_malloc(sizeof(ToneBank));
-  SDL_memset(master_drumset[0], 0, sizeof(ToneBank));
-  master_drumset[0]->tone = safe_malloc(128 * sizeof(ToneBankElement));
-  SDL_memset(master_drumset[0]->tone, 0, 128 * sizeof(ToneBankElement));
+  master_drumset[0] = SDL_calloc(1, sizeof(ToneBank));
+  master_drumset[0]->tone = SDL_calloc(128, sizeof(ToneBankElement));
 
   return 0;
 }
@@ -444,23 +436,20 @@ MidiSong *Timidity_LoadSong(SDL_RWops *rw, SDL_AudioSpec *audio)
       return NULL;
 
   /* Allocate memory for the song */
-  song = (MidiSong *)safe_malloc(sizeof(*song));
+  song = (MidiSong *)SDL_calloc(1, sizeof(*song));
   if (song == NULL)
       return NULL;
-  SDL_memset(song, 0, sizeof(*song));
 
   for (i = 0; i < MAXBANK; i++)
   {
     if (master_tonebank[i])
     {
-      song->tonebank[i] = safe_malloc(sizeof(ToneBank));
-      SDL_memset(song->tonebank[i], 0, sizeof(ToneBank));
+      song->tonebank[i] = SDL_calloc(1, sizeof(ToneBank));
       song->tonebank[i]->tone = master_tonebank[i]->tone;
     }
     if (master_drumset[i])
     {
-      song->drumset[i] = safe_malloc(sizeof(ToneBank));
-      SDL_memset(song->drumset[i], 0, sizeof(ToneBank));
+      song->drumset[i] = SDL_calloc(1, sizeof(ToneBank));
       song->drumset[i]->tone = master_drumset[i]->tone;
     }
   }
@@ -521,8 +510,8 @@ MidiSong *Timidity_LoadSong(SDL_RWops *rw, SDL_AudioSpec *audio)
   }
 
   song->buffer_size = audio->samples;
-  song->resample_buffer = safe_malloc(audio->samples * sizeof(sample_t));
-  song->common_buffer = safe_malloc(audio->samples * 2 * sizeof(Sint32));
+  song->resample_buffer = SDL_malloc(audio->samples * sizeof(sample_t));
+  song->common_buffer = SDL_malloc(audio->samples * 2 * sizeof(Sint32));
   
   song->control_ratio = audio->freq / CONTROLS_PER_SECOND;
   if (song->control_ratio < 1)