File double-free-crash.patch of Package SDL_mixer

# HG changeset patch
# User Sam Lantinga <slouken@libsdl.org>
# Date 1329087437 18000
# Node ID 2d713670db9b832b0c5aa700824900bc1fc3c3cd
# Parent  df72f22b4b411ad4b08f924329678aabd5ac97d6
Fixed 1418 - crash on double free if loading WAV file failed

diff -r df72f22b4b41 -r 2d713670db9b mixer.c
--- a/mixer.c	Mon Jan 30 21:41:45 2012 -0500
+++ b/mixer.c	Sun Feb 12 17:57:17 2012 -0500
@@ -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);
 	}
 

openSUSE Build Service is sponsored by