diff options
author | Stefan Schmidt <s.schmidt@samsung.com> | 2020-02-27 10:16:00 +0100 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2020-02-27 15:58:37 +0100 |
commit | 127461549ee7492aeed341114483cf78121afaa7 (patch) | |
tree | f63def5df6b2b30e8ea87e5386e98a965e8ec3f9 | |
parent | ce912f688e696aac10a56a374447a045ab4de2c2 (diff) | |
download | efl-127461549ee7492aeed341114483cf78121afaa7.tar.gz |
edje_entry: avoid memory leak on error path
In commit 8cb0b193ea0 the logic was changed and we could return here
without free'ing the plain_text resource we allocated. Make sure we
handle this even on the error case and early return.
CID: 1408481
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11433
-rw-r--r-- | src/lib/edje/edje_entry.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 6afd99472a..5d84b1fbef 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -4739,7 +4739,11 @@ _edje_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_ char *itr = NULL; size_t len = eina_unicode_utf8_get_len(plain_text); char *u_text = (char *)malloc(len * sizeof(char) + 1); - if (!u_text) return EINA_FALSE; + if (!u_text) + { + free(plain_text); + return EINA_FALSE; + } itr = u_text; while (eina_unicode_utf8_next_get(plain_text, &idx)) |