Fixed SDL_AddHintCallback() crashing if no more memory available.

The return value of SDL_malloc() was not checked and NULL therefore not handled.
Also added setting of error message for the other SDL_malloc() in this function.
main
Philipp Wiesemann 2014-10-29 20:29:32 +01:00
parent 2a46a9df21
commit 032b14e7b6
1 changed files with 5 additions and 0 deletions

View File

@ -137,6 +137,10 @@ SDL_AddHintCallback(const char *name, SDL_HintCallback callback, void *userdata)
SDL_DelHintCallback(name, callback, userdata); SDL_DelHintCallback(name, callback, userdata);
entry = (SDL_HintWatch *)SDL_malloc(sizeof(*entry)); entry = (SDL_HintWatch *)SDL_malloc(sizeof(*entry));
if (!entry) {
SDL_OutOfMemory();
return;
}
entry->callback = callback; entry->callback = callback;
entry->userdata = userdata; entry->userdata = userdata;
@ -149,6 +153,7 @@ 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) {
SDL_OutOfMemory();
if(entry) if(entry)
{ {
SDL_free(entry); SDL_free(entry);