summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-08-04 18:19:42 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-08-04 18:19:42 +0900
commitc59995916e9d240c816ac96242a4cd5106736eb2 (patch)
tree40841998f33365240f60e41c5b94646acbc8f398
parentb07617ea76b0512eeb2fb3492ff7542d8ac1d7e0 (diff)
downloadefl-c59995916e9d240c816ac96242a4cd5106736eb2.tar.gz
edje - fix access to freed data struct during object shutdown
this fixes T4181
-rw-r--r--src/lib/edje/edje_load.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 10602e4d16..f3e1e77d1e 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)