q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4f88dfd10db05568b912e2ab76f62af5ab78aa23

commit 4f88dfd10db05568b912e2ab76f62af5ab78aa23
Author: Jaehyun Cho <jae_hyun....@samsung.com>
Date:   Mon Feb 24 15:52:25 2020 +0100

    database_expr: fix memory leak when type error happens
    
    Summary: Memory leak is fixed when type error happens.
    
    Reviewers: q66
    
    Reviewed By: q66
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11400
---
 src/lib/eolian/database_expr.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/eolian/database_expr.c b/src/lib/eolian/database_expr.c
index 38794a2f3c..b6d79bb19c 100644
--- a/src/lib/eolian/database_expr.c
+++ b/src/lib/eolian/database_expr.c
@@ -529,7 +529,10 @@ eval_exp(const Eolian_Unit *unit, Eolian_Expression *expr,
 
                 /* assert int here, as we're clearly dealing with enum */
                 if (!(mask & EOLIAN_MASK_INT))
-                  return expr_type_error(expr, EOLIAN_MASK_INT, mask);
+                  {
+                     free(fulln);
+                     return expr_type_error(expr, EOLIAN_MASK_INT, mask);
+                  }
 
                 etpd = eolian_unit_alias_by_name_get(unit, fulln);
                 if (etpd && cb) cb((const Eolian_Object *)etpd, data);

-- 


Reply via email to