From c226630086430a1dc502ebdb60582aaa62d4808b Mon Sep 17 00:00:00 2001 From: Mathieu Eyraud <70028899+meyraud705@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:50:27 +0200 Subject: [PATCH] Fix memory leak in SDL_IOFromFile() If Android_JNI_FileOpen() or windows_file_open() fail, SDL_CloseIO(iostr) does nothing because 'iostr' is NULL and 'iodata' is leaked. --- src/file/SDL_iostream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/file/SDL_iostream.c b/src/file/SDL_iostream.c index 259c0ffe1b..c0db97c42f 100644 --- a/src/file/SDL_iostream.c +++ b/src/file/SDL_iostream.c @@ -600,7 +600,7 @@ SDL_IOStream *SDL_IOFromFile(const char *file, const char *mode) void *iodata = NULL; if (Android_JNI_FileOpen(&iodata, file, mode) < 0) { - SDL_CloseIO(iostr); + Android_JNI_FileClose(iodata); return NULL; } @@ -629,7 +629,7 @@ SDL_IOStream *SDL_IOFromFile(const char *file, const char *mode) } if (windows_file_open(iodata, file, mode) < 0) { - SDL_CloseIO(iostr); + windows_file_close(iodata); return NULL; }