raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9deee134c907e4a415f6a644e6e1fcf22dfb9c32

commit 9deee134c907e4a415f6a644e6e1fcf22dfb9c32
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Tue Mar 24 13:26:10 2020 +0000

    eo - fix err path for eo_isa to unlock shared objects
    
    fix CID 1363294
---
 src/lib/eo/eo.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 83d3e5e752..7d8c613502 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -1939,7 +1939,7 @@ efl_isa(const Eo *eo_id, const Efl_Class *klass_id)
         EO_OBJ_POINTER_GOTO(eo_id, obj, err_shared_obj);
         EO_CLASS_POINTER_GOTO(klass_id, klass, err_shared_class);
         if (EINA_UNLIKELY(obj->klass->vtable.size <= klass->class_id))
-          return EINA_FALSE;
+          goto err_vtable;
 
         isa = !!obj->klass->vtable.chain[klass->class_id].funcs;
 
@@ -1947,6 +1947,7 @@ efl_isa(const Eo *eo_id, const Efl_Class *klass_id)
         tdata->cache.isa_id = eo_id;
         tdata->cache.klass = klass_id;
         tdata->cache.isa = isa;
+err_vtable:
         EO_OBJ_DONE(eo_id);
         eina_lock_release(&(_eo_table_data_shared_data->obj_lock));
      }

-- 


Reply via email to