Fixed bug 2647 - Memory leak in SDL_AddHintCallback function - SDL_hints.c

Nitz

Variable entry going out of scope leaks the storage it points to, at:

        /* Need to add a hint entry for this watcher */
        hint = (SDL_Hint *)SDL_malloc(sizeof(*hint));
        if (!hint) {
            return;
        }

Patch is attached.
main
Philipp Wiesemann 2014-10-29 20:20:47 +01:00
parent f2bd99da68
commit 2a46a9df21
1 changed files with 5 additions and 0 deletions

View File

@ -149,6 +149,11 @@ SDL_AddHintCallback(const char *name, SDL_HintCallback callback, void *userdata)
/* Need to add a hint entry for this watcher */ /* Need to add a hint entry for this watcher */
hint = (SDL_Hint *)SDL_malloc(sizeof(*hint)); hint = (SDL_Hint *)SDL_malloc(sizeof(*hint));
if (!hint) { if (!hint) {
if(entry)
{
SDL_free(entry);
entry = NULL;
}
return; return;
} }
hint->name = SDL_strdup(name); hint->name = SDL_strdup(name);