raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c59995916e9d240c816ac96242a4cd5106736eb2

commit c59995916e9d240c816ac96242a4cd5106736eb2
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Thu Aug 4 18:19:42 2016 +0900

    edje - fix access to freed data struct during object shutdown
    
    this fixes T4181
---
 src/lib/edje/edje_load.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 10602e4..f3e1e77 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1655,6 +1655,7 @@ _edje_file_del(Edje *ed)
                        rp->typedata.container->anim = NULL;
                     }
                   free(rp->typedata.container);
+                  rp->typedata.container = NULL;
                }
              else if ((rp->type == EDJE_RP_TYPE_TEXT) &&
                       (rp->typedata.text))
@@ -1664,6 +1665,7 @@ _edje_file_del(Edje *ed)
                   eina_stringshare_del(rp->typedata.text->cache.in_str);
                   eina_stringshare_del(rp->typedata.text->cache.out_str);
                   free(rp->typedata.text);
+                  rp->typedata.text = NULL;
                }
              else if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
                       (rp->typedata.swallow))
@@ -1690,6 +1692,7 @@ _edje_file_del(Edje *ed)
                        rp->typedata.swallow->swallowed_object = NULL;
                     }
                   free(rp->typedata.swallow);
+                  rp->typedata.swallow = NULL;
                }
 
              if (rp->object)

-- 


Reply via email to