From 872982039333cce2b8d20949e1cb5ebe9c339050 Mon Sep 17 00:00:00 2001 From: Jiyoun Park Date: Wed, 15 Jun 2011 09:34:16 +0000 Subject: [PATCH] From: Jiyoun Park Subject: [E-devel] [Patch] Evas_image_load_gif bug fix I found if gif file didn't have colormap, evas make segmentation fault. So I add null check code of the gif color map . SVN revision: 60337 --- .../src/modules/loaders/gif/evas_image_load_gif.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/legacy/evas/src/modules/loaders/gif/evas_image_load_gif.c b/legacy/evas/src/modules/loaders/gif/evas_image_load_gif.c index 699e9c00f9..2b67c64a18 100644 --- a/legacy/evas/src/modules/loaders/gif/evas_image_load_gif.c +++ b/legacy/evas/src/modules/loaders/gif/evas_image_load_gif.c @@ -260,6 +260,17 @@ evas_image_load_file_data_gif(Image_Entry *ie, const char *file, const char *key bg = gif->SBackGroundColor; cmap = (gif->Image.ColorMap ? gif->Image.ColorMap : gif->SColorMap); + if (!cmap) + { + DGifCloseFile(gif); + for (i = 0; i < h; i++) + { + free(rows[i]); + } + free(rows); + *error = EVAS_LOAD_ERROR_CORRUPT_FILE; + return EINA_FALSE; + } ptr = evas_cache_image_pixels(ie); per_inc = 100.0 / (((double)w) * h);