edje_message_queue.c Fix invalid pointer 71/285271/2
authorHubert Stachowiak <h.stachowiak@samsung.com>
Thu, 8 Dec 2022 07:56:25 +0000 (08:56 +0100)
committerChun <jykeon@samsung.com>
Fri, 9 Dec 2022 09:36:20 +0000 (09:36 +0000)
In _edje_msg_trash_clear freeing Edje_Message pointer could cause invalid pointer error because _edje_msg_trash_pop function would sometimes return the same pointer twice.

Change-Id: I845d576b80924200092fd9647c64aacec70aa866

src/lib/edje/edje_message_queue.c

index b579a33..90a8f7b 100644 (file)
@@ -31,6 +31,9 @@ _edje_msg_trash_pop(void)
    em = INLIST_CONTAINER(Edje_Message, _edje_msg_trash, inlist_main);
    _edje_msg_trash = eina_inlist_remove(_edje_msg_trash, &(em->inlist_main));
    memset(em, 0, sizeof(Edje_Message));
+// TIZEN_ONLY (20221208) : edje_message_queue.c Fix invalid pointer
+   if (em == _edje_msg_trash) _edje_msg_trash = NULL;
+//
    return em;
 }