jpeg pushed a commit to branch master.

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

commit b290cb5de001bcbf73b8ccea7651d78f12d512ef
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Fri Jul 21 15:47:10 2017 +0900

    eina_slstr: Fix leak in an error case
    
    This function takes ownership of the incoming strbuf
---
 src/lib/eina/eina_slstr.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_slstr.c b/src/lib/eina/eina_slstr.c
index 5367db010f..143965a7e3 100644
--- a/src/lib/eina/eina_slstr.c
+++ b/src/lib/eina/eina_slstr.c
@@ -172,7 +172,7 @@ eina_slstr_strbuf_new(Eina_Strbuf *string)
    if (!string) return NULL;
 
    fq = _slstr_freeq_get(EINA_FALSE);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(fq, NULL);
+   EINA_SAFETY_ON_NULL_GOTO(fq, error);
 
    str = eina_strbuf_release(string);
 #ifdef DEBUG
@@ -180,6 +180,10 @@ eina_slstr_strbuf_new(Eina_Strbuf *string)
 #endif
    eina_freeq_ptr_add(fq, str, free, len);
    return str;
+
+error:
+   eina_strbuf_free(string);
+   return NULL;
 }
 
 EAPI Eina_Slstr *

-- 


Reply via email to