evas vg: prevent invalid access.
authorHermet Park <hermetpark@gmail.com>
Fri, 17 Aug 2018 19:12:19 +0000 (15:12 -0400)
committerWoochanlee <wc0917.lee@samsung.com>
Thu, 23 Aug 2018 06:41:49 +0000 (15:41 +0900)
Summary:
Canvas allows objects become zombies.
Even though they were deleted they could be accessed by canvas
for second frames.

Reviewers: #committers, zmike

Reviewed By: #committers, zmike

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6849

src/lib/evas/canvas/efl_canvas_vg_object.c

index f9decd0..a3634b8 100644 (file)
@@ -324,9 +324,11 @@ _efl_canvas_vg_object_efl_object_destructor(Eo *eo_obj, Efl_Canvas_Vg_Object_Dat
    efl_event_callback_del(e, EFL_CANVAS_SCENE_EVENT_RENDER_POST, _cleanup_reference, pd);
 
    efl_unref(pd->root);
+   pd->root = NULL;
 
    if (pd->user_entry)
      free(pd->user_entry);
+   pd->user_entry = NULL;
 
    efl_destructor(efl_super(eo_obj, MY_CLASS));
 }