Fixed bug 2681 - dereference a NULL pointer dst_fmt in SDL_CreateTextureFromSurface function

Nitz

In SDL_CreateTextureFromSurface:

SDL_PixelFormat *dst_fmt;
/* Set up a destination surface for the texture update */
         dst_fmt = SDL_AllocFormat(format);
            temp = SDL_ConvertSurface(surface, dst_fmt, 0);

Here is need of NULL check for dst_fmt because there are chances of NULL return from SDL_AllocFormat(format);
main
Sam Lantinga 2014-08-16 23:30:44 -07:00
parent 984d0fc40b
commit 529ed53b16
1 changed files with 4 additions and 0 deletions

View File

@ -540,6 +540,10 @@ SDL_CreateTextureFromSurface(SDL_Renderer * renderer, SDL_Surface * surface)
/* Set up a destination surface for the texture update */ /* Set up a destination surface for the texture update */
dst_fmt = SDL_AllocFormat(format); dst_fmt = SDL_AllocFormat(format);
if (!dst_fmt) {
SDL_DestroyTexture(texture);
return NULL;
}
temp = SDL_ConvertSurface(surface, dst_fmt, 0); temp = SDL_ConvertSurface(surface, dst_fmt, 0);
SDL_FreeFormat(dst_fmt); SDL_FreeFormat(dst_fmt);
if (temp) { if (temp) {