evas/object; fix null deref
authorMike Blumenkrantz <zmike@samsung.com>
Thu, 26 Sep 2019 22:00:05 +0000 (18:00 -0400)
committerJongmin Lee <jm105.lee@samsung.com>
Sun, 29 Sep 2019 21:18:39 +0000 (06:18 +0900)
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

index abd8a2d..b6732eb 100644 (file)
@@ -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);