From: divverent Date: Wed, 15 Oct 2008 14:49:20 +0000 (+0000) Subject: fix an obvious crash in PNG loading X-Git-Tag: xonotic-v0.1.0preview~2058 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=e358fecc74f80effec670a81ad886a751e34f559;p=xonotic%2Fdarkplaces.git fix an obvious crash in PNG loading git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8530 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/image_png.c b/image_png.c index 2dac76fa..593bb594 100644 --- a/image_png.c +++ b/image_png.c @@ -340,12 +340,21 @@ unsigned char *PNG_LoadImage_BGRA (const unsigned char *raw, int filesize) qpng_read_image(png, my_png.FRowPtrs); } else - Con_DPrintf("PNG_LoadImage : not enough memory\n"); + { + Con_Printf("PNG_LoadImage : not enough memory\n"); + qpng_destroy_read_struct(&png, &pnginfo, 0); + Mem_Free(my_png.FRowPtrs); + return NULL; + } Mem_Free(my_png.FRowPtrs); my_png.FRowPtrs = NULL; } else - Con_DPrintf("PNG_LoadImage : not enough memory\n"); + { + Con_Printf("PNG_LoadImage : not enough memory\n"); + qpng_destroy_read_struct(&png, &pnginfo, 0); + return NULL; + } qpng_read_end(png, pnginfo); qpng_destroy_read_struct(&png, &pnginfo, 0); @@ -357,7 +366,7 @@ unsigned char *PNG_LoadImage_BGRA (const unsigned char *raw, int filesize) { Con_Printf ("PNG_LoadImage : bad color depth\n"); Mem_Free(imagedata); - imagedata = NULL; + return NULL; } // swizzle RGBA to BGRA