Windows SDL_GetBasePath: free string on failure.
diff --git a/src/filesystem/windows/SDL_sysfilesystem.c b/src/filesystem/windows/SDL_sysfilesystem.c
index 2bc7992..2d1c781 100644
--- a/src/filesystem/windows/SDL_sysfilesystem.c
+++ b/src/filesystem/windows/SDL_sysfilesystem.c
@@ -58,14 +58,15 @@ SDL_GetBasePath(void)
}
while (SDL_TRUE) {
- WCHAR *ptr = (WCHAR *)SDL_realloc(path, buflen * sizeof (WCHAR));
+ void *ptr = SDL_realloc(path, buflen * sizeof (WCHAR));
if (!ptr) {
SDL_free(path);
FreeLibrary(psapi);
SDL_OutOfMemory();
return NULL;
}
- path = ptr;
+
+ path = (WCHAR *) ptr;
len = pGetModuleFileNameExW(GetCurrentProcess(), NULL, path, buflen);
if (len != buflen) {
@@ -79,6 +80,7 @@ SDL_GetBasePath(void)
FreeLibrary(psapi);
if (len == 0) {
+ SDL_free(path);
WIN_SetError("Couldn't locate our .exe");
return NULL;
}