mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
Fixed SDL_GameControllerMappingForGUID() crashing if no more memory available.
The return value of SDL_malloc() was not checked and NULL therefore not handled. NULL returned by SDL_GameControllerMapping()/SDL_GameControllerMappingForGUID() now either means "no mapping" (as before) or "no memory" (just crashed before).
This commit is contained in:
parent
30d6cec1bb
commit
33a2b58ca4
@ -735,6 +735,10 @@ SDL_GameControllerMappingForGUID(SDL_JoystickGUID guid)
|
|||||||
/* allocate enough memory for GUID + ',' + name + ',' + mapping + \0 */
|
/* allocate enough memory for GUID + ',' + name + ',' + mapping + \0 */
|
||||||
needed = SDL_strlen(pchGUID) + 1 + SDL_strlen(mapping->name) + 1 + SDL_strlen(mapping->mapping) + 1;
|
needed = SDL_strlen(pchGUID) + 1 + SDL_strlen(mapping->name) + 1 + SDL_strlen(mapping->mapping) + 1;
|
||||||
pMappingString = SDL_malloc(needed);
|
pMappingString = SDL_malloc(needed);
|
||||||
|
if (!pMappingString) {
|
||||||
|
SDL_OutOfMemory();
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
SDL_snprintf(pMappingString, needed, "%s,%s,%s", pchGUID, mapping->name, mapping->mapping);
|
SDL_snprintf(pMappingString, needed, "%s,%s,%s", pchGUID, mapping->name, mapping->mapping);
|
||||||
}
|
}
|
||||||
return pMappingString;
|
return pMappingString;
|
||||||
|
Loading…
Reference in New Issue
Block a user