mxe/src/sdl_mixer-1-fix-double-free...

36 lines
860 B
Diff

This file is part of MXE.
See index.html for further information.
https://bugs.gentoo.org/show_bug.cgi?id=406739
Nikos Chantziaras 2012-03-03 03:13:39 EST
There's a bug in the current version of SDL_mixer where failing to load a WAV sample will result in freeing a resource twice, resulting in an application crash. There is an upstream fix for this:
http://hg.libsdl.org/SDL_mixer/rev/ea53a85853dd
Upstream bug: http://bugzilla.libsdl.org/show_bug.cgi?id=1418
--- a/mixer.c
+++ b/mixer.c
@@ -610,13 +610,15 @@
break;
default:
SDL_SetError("Unrecognized sound file type");
- return(0);
+ if ( freesrc ) {
+ SDL_RWclose(src);
+ }
+ loaded = NULL;
+ break;
}
if ( !loaded ) {
+ /* The individual loaders have closed src if needed */
SDL_free(chunk);
- if ( freesrc ) {
- SDL_RWclose(src);
- }
return(NULL);
}