Mercurial > SDL_sound_CoreAudio
changeset 517:0f5888f9aef7 stable-1.0
Fixed bogus memory deference when SMPEG fails init (thanks, Chris!).
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sun, 29 Oct 2006 07:14:48 +0000 |
parents | c5f184b4b2cd |
children | 72efeb4643b6 |
files | CHANGELOG CREDITS decoders/smpeg.c |
diffstat | 3 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGELOG Sat Oct 28 00:53:45 2006 +0000 +++ b/CHANGELOG Sun Oct 29 07:14:48 2006 +0000 @@ -2,6 +2,7 @@ * CHANGELOG. */ +10292006 - Fixed bogus memory deference when SMPEG fails init (thanks, Chris!) 10272006 - FLAC 1.1.3 breaks their API _again_, so we try to do the right thing at build time. (Thanks, Josh!). 05122006 - Patched to get mpglib compiling again (thanks, Sam!).
--- a/CREDITS Sat Oct 28 00:53:45 2006 +0000 +++ b/CREDITS Sun Oct 29 07:14:48 2006 +0000 @@ -56,6 +56,9 @@ FLAC 1.1.3 updates: Josh Coalson +SMPEG fixes: + Chris Nelson + Other stuff: Your name here! Patches go to icculus@clutteredmind.org ...
--- a/decoders/smpeg.c Sat Oct 28 00:53:45 2006 +0000 +++ b/decoders/smpeg.c Sun Oct 29 07:14:48 2006 +0000 @@ -116,6 +116,7 @@ SDL_AudioSpec spec; Sound_SampleInternal *internal = (Sound_SampleInternal *) sample->opaque; SDL_RWops *refCounter; + const char *err = NULL; output_version(); @@ -171,10 +172,12 @@ RWops_RWRefCounter_addRef(refCounter); smpeg = SMPEG_new_rwops(refCounter, &smpeg_info, 0); - if (SMPEG_error(smpeg)) + err = SMPEG_error(smpeg); + if (err != NULL) { + __Sound_SetError(err); /* make a copy before SMPEG_delete()... */ SMPEG_delete(smpeg); - BAIL_MACRO(SMPEG_error(smpeg), 0); + return(0); } /* if */ if (!smpeg_info.has_audio)