From 6443120eb37873ab6fe3c0d3dc5c54cc6fba3255 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 26 Sep 2019 18:00:05 -0400 Subject: [PATCH] evas/object; fix null deref Summary: _efl_canvas_object_clipper_prev_reset() derefs obj->cur CID 1396985 Depends on D10211 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10212 --- src/lib/evas/canvas/evas_object_main.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index abd8a2d5e2..b6732eb9f8 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -1133,8 +1133,13 @@ _efl_canvas_object_efl_object_invalidate(Eo *eo_obj, Evas_Object_Protected_Data } } - if (obj->cur && obj->cur->clipper) evas_object_clip_unset(eo_obj); - if (obj->prev) _efl_canvas_object_clipper_prev_reset(obj, EINA_FALSE); + if (obj->cur) + { + if (obj->cur->clipper) + evas_object_clip_unset(eo_obj); + if (obj->prev) + _efl_canvas_object_clipper_prev_reset(obj, EINA_FALSE); + } if (obj->map) evas_object_map_set(eo_obj, NULL);