From 5cad75ba3f586a68c65fd39d5a74348c5fc55fb2 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Sat, 4 Apr 2015 22:48:23 +0200 Subject: fix potential memleak? Signed-off-by: Olliver Schinagl --- src/eulogium.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 0408651..366fc7e 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -422,11 +422,13 @@ static void _eulogium_multi_text_next_cb(void *data, Evas_Object *obj EINA_UNUSE item = elm_naviframe_bottom_item_get(eulogium->layout); if (item) - elm_naviframe_item_pop_to(item); + elm_naviframe_item_pop_to(item); /* XXX what to do else? */ } else { content = eulogium_multi_text_menu(eulogium, eulogium->layout, NULL, txtdata, pagenum, pageindex); - elm_naviframe_item_simple_push(eulogium->layout, content); + if (content) + elm_naviframe_item_simple_push(eulogium->layout, content); /* XXX what else? */ } + free(data); } Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct button_def *button, struct multi_text *txtdata, uint_fast8_t pagenum, Eina_Bool pageindex) @@ -456,7 +458,7 @@ Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Objec evas_object_show(object); elm_box_pack_end(_top, object); - multi_text_next_cb_data = malloc(sizeof(struct _multi_text_next_cb_data)); /* XXX never freed; memleak */ + multi_text_next_cb_data = malloc(sizeof(struct _multi_text_next_cb_data)); multi_text_next_cb_data->eulogium = eulogium; multi_text_next_cb_data->txtdata = txtdata; multi_text_next_cb_data->pagenum = pagenum + 1; -- cgit v0.12