evas - use freeq for common and cache images
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 28 Dec 2016 03:40:14 +0000 (12:40 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 28 Dec 2016 03:40:14 +0000 (12:40 +0900)
this makes software rgba images and cache images use freeq to try and
minimize possible bugs and crashes if we hit use of freed data for
images.

src/lib/evas/cache/evas_cache_engine_image.c
src/lib/evas/common/evas_image_main.c

index b3c98dc128b980d6ae1e9d094c422b6c394a84b5..4757daab98a2f7653871b6fe7882ee3bd1a6c527 100644 (file)
@@ -139,7 +139,7 @@ _evas_cache_engine_image_dealloc(Evas_Cache_Engine_Image *cache, Engine_Image_En
    else
      {
         memset(eim, 0, sizeof (Engine_Image_Entry));
-        free(eim);
+        eina_freeq_ptr_add(eina_freeq_main_get(), eim, free, sizeof(*eim));
      }
 }
 
index 11588ad02f089c73b44059977c8c6fbf382ebb2e..2928b473142590d8502e5dbecd7cc7754a330eee 100644 (file)
@@ -584,7 +584,7 @@ _evas_common_rgba_image_delete(Image_Entry *ie)
           }
      }
    if (ie->f && !ie->flags.given_mmap) eina_file_close(ie->f);
-   free(im);
+   eina_freeq_ptr_add(eina_freeq_main_get(), im, free, sizeof(*im));
 }
 
 static void