evas vg: Fixed possible crash in shape interpolate. 04/259504/1
authorMichal Szczecinski <m.szczecinsk@partner.samsung.com>
Wed, 9 Jun 2021 06:08:40 +0000 (08:08 +0200)
committerMichal Szczecinski <m.szczecinsk@partner.samsung.com>
Wed, 9 Jun 2021 06:08:40 +0000 (08:08 +0200)
Added ptr checks before dereference.

Change-Id: I51e625a17be5cd82b30242c73c1b9d8fffb202d9

src/lib/evas/canvas/efl_canvas_vg_shape.c

index 70b608c..ab6366b 100644 (file)
@@ -420,10 +420,14 @@ _shape_properties_interpolate(Evas_Vg_Shape *obj,
    Tvg_Stroke_Join join, join_to;
    float width, width_to;
 
+   if (!obj || !from || !to) return EINA_FALSE;
+
    Efl_Canvas_Vg_Node_Data *nd = efl_data_scope_get(obj, EFL_CANVAS_VG_NODE_CLASS);
    Efl_Canvas_Vg_Node_Data *nd_from = efl_data_scope_get(from, EFL_CANVAS_VG_NODE_CLASS);
    Efl_Canvas_Vg_Node_Data *nd_to = efl_data_scope_get(to, EFL_CANVAS_VG_NODE_CLASS);
 
+   if (!nd || !nd_from || !nd_to) return EINA_FALSE;
+
    nd->x = _interpolate(nd_from->x, nd_to->x, pos_map);
    nd->y = _interpolate(nd_from->y, nd_to->y, pos_map);