From e358fecc74f80effec670a81ad886a751e34f559 Mon Sep 17 00:00:00 2001 From: divverent Date: Wed, 15 Oct 2008 14:49:20 +0000 Subject: [PATCH] fix an obvious crash in PNG loading git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8530 d7cf8633-e32d-0410-b094-e92efae38249 --- image_png.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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 -- 2.39.2