From 1f5190bcfd191bb9c5c3b5e83c06cce46652edb1 Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 28 Feb 2015 22:34:07 +0000 Subject: [PATCH] Fix resource leak closing SDL RW ops Leak introduced in b3d134a6b7f5fe34bd8bb86b0b1beb0924741cb8 ("merged physfs branch"), but this fix only applies after the conversion to RAII. An equivalent change from SDL_FreeRW->SDL_RWclose is needed for pre-RAII code. Fixes: d0de0cf963d6fe1d9fcfffcd769bade84c1f3bc6 ("Use unique_ptr for SDL_RWops") --- common/arch/sdl/digi_mixer_music.cpp | 5 ++++- d2x-rebirth/include/physfsrwops.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/arch/sdl/digi_mixer_music.cpp b/common/arch/sdl/digi_mixer_music.cpp index fe8205f82..d22fdcce6 100644 --- a/common/arch/sdl/digi_mixer_music.cpp +++ b/common/arch/sdl/digi_mixer_music.cpp @@ -31,7 +31,10 @@ class current_music_t { struct RWops_delete { - void operator()(SDL_RWops *o) { SDL_FreeRW(o); } + void operator()(SDL_RWops *o) + { + SDL_RWclose(o); + } }; struct Music_delete { diff --git a/d2x-rebirth/include/physfsrwops.h b/d2x-rebirth/include/physfsrwops.h index c77fba0b2..ddd6ac670 100644 --- a/d2x-rebirth/include/physfsrwops.h +++ b/d2x-rebirth/include/physfsrwops.h @@ -42,7 +42,7 @@ struct RWops_delete { void operator()(SDL_RWops *o) const { - SDL_FreeRW(o); + SDL_RWclose(o); } };