jeyzu pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2e5a5d6656e9fca4ee756819dcd17e875225e447

commit 2e5a5d6656e9fca4ee756819dcd17e875225e447
Author: Jérémy Zurcher <jer...@asynk.ch>
Date:   Mon Sep 8 21:38:01 2014 +0200

    eet: call LOCK_CACHE before altering Eet_File
    
    even if not necessary in this particular case,
    do as in eet_mmap() and eet_open(),
    lock the cache before altering Eet_File struct.
    
    fix CID 1039366 1039367 1039368 1039369
---
 src/lib/eet/eet_lib.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c
index 69d8bca..daa6d3b 100644
--- a/src/lib/eet/eet_lib.c
+++ b/src/lib/eet/eet_lib.c
@@ -1397,6 +1397,9 @@ eet_memopen_read(const void *data,
    if (!ef)
      return NULL;
 
+   /* eet_internal_read expects the cache lock to be held when it is called */
+   LOCK_CACHE;
+
    INIT_FILE(ef);
    ef->ed = NULL;
    ef->path = NULL;
@@ -1413,8 +1416,6 @@ eet_memopen_read(const void *data,
    ef->sha1_length = 0;
    ef->readfp_owned = EINA_FALSE;
 
-   /* eet_internal_read expects the cache lock to be held when it is called */
-   LOCK_CACHE;
    ef = eet_internal_read(ef);
    UNLOCK_CACHE;
    return ef;

-- 


Reply via email to