raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6aa72e3cf6b29437a519a1ee68dc33c77f337b1a

commit 6aa72e3cf6b29437a519a1ee68dc33c77f337b1a
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Apr 10 10:40:52 2017 +0900

    evas - async preload cancel fix - don't double delete/free
    
    just match the ref with the drop anddon't also manually free the image
    as this leads to accessing of freed memory which is not a good thing.
    
    this should fix T5374
    
    @fix
---
 src/lib/evas/cache/evas_cache_image.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/cache/evas_cache_image.c 
b/src/lib/evas/cache/evas_cache_image.c
index ff95858..51b0bf1 100644
--- a/src/lib/evas/cache/evas_cache_image.c
+++ b/src/lib/evas/cache/evas_cache_image.c
@@ -447,11 +447,10 @@ _evas_cache_image_async_cancel(void *data)
 
    if ((ie->flags.delete_me) || (ie->flags.dirty))
      {
-        ie->flags.delete_me = 0;
-        evas_cache_image_drop(ie);
         SLKL(engine_lock);
-        _evas_cache_image_entry_delete(ie->cache, ie);
+        ie->flags.delete_me = 0;
         SLKU(engine_lock);
+        evas_cache_image_drop(ie);
         return;
      }
    SLKL(ie->lock_task);

-- 


Reply via email to