edje - double make sure edje messages are zero'd due to a segv i saw

i saw a segv on freeing em->msg as it was a junk ptr... i dont know
for sure it msg was properly initted but as em is recycled from trash
be sure and zero it when digging out of trash because em->msg was not
a valid ptr (and i wasnt using valgrind at the time to know for sure
and cant find this with valgrind now).

@fix
This commit is contained in:
Carsten Haitzler 2019-07-09 16:02:40 +01:00
parent 244b1446fc
commit f850cf6a00
1 changed files with 3 additions and 2 deletions

View File

@ -354,13 +354,14 @@ _edje_message_new(Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id)
Edje_Message *em;
em = _edje_msg_trash_pop();
if (!em) em = calloc(1, sizeof(Edje_Message));
if (em) memset(em, 0, sizeof(Edje_Message));
else em = calloc(1, sizeof(Edje_Message));
if (!em) return NULL;
em->edje = ed;
em->edje->message.num++;
em->queue = queue;
em->type = type;
em->id = id;
em->edje->message.num++;
return em;
}