mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-03 14:19:20 +00:00
memcpy with a NULL src/dst argument is UB
malloc of UBSAN returns NULL when allocating 0 bytes, causing a call to memcpy(NULL, xxx, 0);
This commit is contained in:
committed by
Anonymous Maarten
parent
501ee05129
commit
48e80c8f26
@@ -1352,7 +1352,9 @@ SDL_DisplayMode **SDL_GetFullscreenDisplayModes(SDL_DisplayID displayID, int *co
|
||||
result = (SDL_DisplayMode **)SDL_malloc((num_modes + 1) * sizeof(*result) + num_modes * sizeof(**result));
|
||||
if (result) {
|
||||
SDL_DisplayMode *modes = (SDL_DisplayMode *)((Uint8 *)result + ((num_modes + 1) * sizeof(*result)));
|
||||
SDL_memcpy(modes, display->fullscreen_modes, num_modes * sizeof(*modes));
|
||||
if (num_modes) {
|
||||
SDL_memcpy(modes, display->fullscreen_modes, num_modes * sizeof(*modes));
|
||||
}
|
||||
for (i = 0; i < num_modes; ++i) {
|
||||
result[i] = modes++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user