mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Fix memory leaks
This commit is contained in:
parent
f321763b1c
commit
b2b4cc667c
@ -899,14 +899,19 @@ bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params)
|
|||||||
audio_mixer_sound_t *handle = NULL;
|
audio_mixer_sound_t *handle = NULL;
|
||||||
audio_mixer_stop_cb_t stop_cb = NULL;
|
audio_mixer_stop_cb_t stop_cb = NULL;
|
||||||
bool looped = false;
|
bool looped = false;
|
||||||
void *buf = malloc(params->bufsize);
|
void *buf = NULL;
|
||||||
|
|
||||||
if (audio_mixer_current_max_idx >= AUDIO_MIXER_MAX_STREAMS)
|
if (audio_mixer_current_max_idx >= AUDIO_MIXER_MAX_STREAMS)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (params->state == AUDIO_STREAM_STATE_NONE)
|
if (params->state == AUDIO_STREAM_STATE_NONE)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
buf = malloc(params->bufsize);
|
||||||
|
|
||||||
|
if (!buf)
|
||||||
|
return false;
|
||||||
|
|
||||||
memcpy(buf, params->buf, params->bufsize);
|
memcpy(buf, params->buf, params->bufsize);
|
||||||
|
|
||||||
switch (params->type)
|
switch (params->type)
|
||||||
@ -918,11 +923,15 @@ bool audio_driver_mixer_add_stream(audio_mixer_stream_params_t *params)
|
|||||||
handle = audio_mixer_load_ogg(buf, params->bufsize);
|
handle = audio_mixer_load_ogg(buf, params->bufsize);
|
||||||
break;
|
break;
|
||||||
case AUDIO_MIXER_TYPE_NONE:
|
case AUDIO_MIXER_TYPE_NONE:
|
||||||
|
free(buf);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!handle)
|
if (!handle)
|
||||||
|
{
|
||||||
|
free(buf);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (params->state == AUDIO_STREAM_STATE_PLAYING)
|
if (params->state == AUDIO_STREAM_STATE_PLAYING)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user