This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch leak
in repository efl.

View the commit online.

commit f692aff83f7a6826c60d0a49c55c87e568ef9862
Author: Bernhard M. Wiedemann <[email protected]>
AuthorDate: Thu Aug 27 09:09:10 2026 +0200

    edje_cc: free merged-away descriptions via _part_desc_free
    
    This avoids leaks of ed->state.name,
    avoids collisions in desc_hash
    and part_dest_lookup and part_pc_dest_lookup should no more
    write into free'd memory.
    
    This patch was done while working on reproducible builds for openSUSE.
---
 src/bin/edje/edje_cc_handlers.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index ac4be862a6..0f830b7eb4 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -8636,6 +8636,7 @@ static void
 _part_description_state_update(Edje_Part_Description_Common *ed)
 {
    Edje_Part *ep = current_part;
+   Edje_Part_Collection *pc = eina_list_data_get(eina_list_last(edje_collections));
 
    if (ed == ep->default_desc) return;
    if ((ep->default_desc->state.name && !strcmp(ed->state.name, ep->default_desc->state.name) && EINA_DBL_EQ(ed->state.value, ep->default_desc->state.value)) ||
@@ -8644,7 +8645,7 @@ _part_description_state_update(Edje_Part_Description_Common *ed)
         if (ep->type == EDJE_PART_TYPE_IMAGE)
           _edje_part_description_image_remove((Edje_Part_Description_Image *)ed);
 
-        free(ed);
+        _part_desc_free(pc, ep, ed);
         ep->other.desc_count--;
         ep->other.desc = realloc(ep->other.desc,
                                  sizeof (Edje_Part_Description_Common *) * ep->other.desc_count);
@@ -8660,7 +8661,7 @@ _part_description_state_update(Edje_Part_Description_Common *ed)
                   if (ep->type == EDJE_PART_TYPE_IMAGE)
                     _edje_part_description_image_remove((Edje_Part_Description_Image *)ed);
 
-                  free(ed);
+                  _part_desc_free(pc, ep, ed);
                   ep->other.desc_count--;
                   ep->other.desc = realloc(ep->other.desc,
                                            sizeof (Edje_Part_Description_Common *) * ep->other.desc_count);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to