From 3183821d0948a1524898b52e88d10099fe54c6da Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 10 Jul 2007 19:03:44 +0000 Subject: [PATCH] Set the error after freeing stuff, just in case one of those functions resets the error string. --HG-- branch : SDL-1.2 extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402471 --- src/file/SDL_rwops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/file/SDL_rwops.c b/src/file/SDL_rwops.c index fcf3867be..e463bf11c 100644 --- a/src/file/SDL_rwops.c +++ b/src/file/SDL_rwops.c @@ -91,10 +91,10 @@ static int SDLCALL win32_file_open(SDL_RWops *context, const char *filename, con wchar_t *filenameW = SDL_stack_alloc(wchar_t, size); if ( MultiByteToWideChar(CP_UTF8, 0, filename, -1, filenameW, size) == 0 ) { - SDL_SetError("Unable to convert filename to Unicode"); SDL_stack_free(filenameW); SDL_free(context->hidden.win32io.buffer.data); context->hidden.win32io.buffer.data = NULL; + SDL_SetError("Unable to convert filename to Unicode"); return -1; } h = CreateFile(filenameW, (w_right|r_right), (w_right)? 0 : FILE_SHARE_READ, @@ -113,9 +113,9 @@ static int SDLCALL win32_file_open(SDL_RWops *context, const char *filename, con #endif /* _WIN32_WCE */ if (h==INVALID_HANDLE_VALUE) { - SDL_SetError("Couldn't open %s",filename); SDL_free(context->hidden.win32io.buffer.data); context->hidden.win32io.buffer.data = NULL; + SDL_SetError("Couldn't open %s",filename); return -2; /* failed (CreateFile) */ } context->hidden.win32io.h = h;