Skip to content

Commit

Permalink
timidity: killed safe_malloc().
Browse files Browse the repository at this point in the history
  • Loading branch information
sezero committed Mar 17, 2021
1 parent 62a8269 commit aff785d
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 67 deletions.
40 changes: 11 additions & 29 deletions src/timidity/common.c
@@ -1,5 +1,4 @@
/*
TiMidity -- Experimental MIDI to WAVE converter
Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
Expand Down Expand Up @@ -38,16 +37,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))
Expand All @@ -57,18 +55,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++;
}
Expand All @@ -80,34 +75,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;
Expand Down
4 changes: 1 addition & 3 deletions src/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);
8 changes: 4 additions & 4 deletions src/timidity/instrum.c
Expand Up @@ -205,9 +205,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;
Expand Down Expand Up @@ -368,7 +368,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;

Expand All @@ -380,7 +380,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);
Expand Down
9 changes: 4 additions & 5 deletions src/timidity/readmidi.c
Expand Up @@ -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);
Expand All @@ -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;
Expand Down Expand Up @@ -363,7 +363,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;
Expand Down Expand Up @@ -578,8 +578,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)
Expand Down
2 changes: 1 addition & 1 deletion src/timidity/resample.c
Expand Up @@ -559,7 +559,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;

Expand Down
39 changes: 14 additions & 25 deletions src/timidity/timidity.c
Expand Up @@ -316,10 +316,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];
}
Expand All @@ -339,10 +337,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];
}
Expand Down Expand Up @@ -370,7 +366,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=
Expand Down Expand Up @@ -469,15 +465,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;
}
Expand Down Expand Up @@ -514,23 +506,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 < 128; 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;
}
}
Expand Down Expand Up @@ -591,8 +580,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)
Expand Down

0 comments on commit aff785d

Please sign in to comment.