mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-07 11:58:12 +00:00
SDL_ConvertSurface(): add null pointer check
Check return values of SDL_CreateSurface() and SDL_ConvertSurface().
This commit is contained in:

committed by
Sam Lantinga

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