SDL_ConvertSurface(): add null pointer check

Check return values of SDL_CreateSurface()
and SDL_ConvertSurface().
This commit is contained in:
Mingjie Shen
2023-04-23 19:34:57 -04:00
committed by Sam Lantinga
parent bf8c9d2d70
commit ac607c1088

View File

@@ -1293,6 +1293,10 @@ SDL_ConvertSurface(SDL_Surface *surface, const SDL_PixelFormat *format)
/* Create a dummy surface to get the colorkey converted */
tmp = SDL_CreateSurface(1, 1, surface->format->format);
if (tmp == NULL) {
SDL_DestroySurface(convert);
return NULL;
}
/* Share the palette, if any */
if (surface->format->palette) {
@@ -1305,6 +1309,11 @@ SDL_ConvertSurface(SDL_Surface *surface, const SDL_PixelFormat *format)
/* Convertion of the colorkey */
tmp2 = SDL_ConvertSurface(tmp, format);
if (tmp2 == NULL) {
SDL_DestroySurface(tmp);
SDL_DestroySurface(convert);
return NULL;
}
/* Get the converted colorkey */
SDL_memcpy(&converted_colorkey, tmp2->pixels, tmp2->format->BytesPerPixel);