efl_canvas_vg_shape: fix memory leak 32/255232/5
authorPiotr Chludzinski <p.chludzinsk@samsung.com>
Mon, 15 Mar 2021 09:53:15 +0000 (10:53 +0100)
committerHermet Park <chuneon.park@samsung.com>
Thu, 18 Mar 2021 07:38:07 +0000 (07:38 +0000)
Change-Id: I64e8b90956f55c993101689af01d54681417cc6d
Signed-off-by: Piotr Chludzinski <p.chludzinsk@samsung.com>
src/lib/evas/canvas/efl_canvas_vg_shape.c

index 216807b..95fdce7 100644 (file)
@@ -552,6 +552,8 @@ _shape_interpolate(Evas_Vg_Shape *obj,
    tvg_shape_get_path_coords(tvg_to, (const Tvg_Point**)&path_coords_to, &pts_count_to);
 
    path_coords_dest = (Tvg_Point*)malloc(sizeof(Tvg_Point) * pts_count_from);
+   if (!path_coords_dest) return EINA_FALSE;
+
    for (i = 0; i < pts_count_from; ++i)
      {
         path_coords_dest[i].x = _interpolate(path_coords_from[i].x, path_coords_to[i].x, pos_map);
@@ -560,6 +562,7 @@ _shape_interpolate(Evas_Vg_Shape *obj,
 
    _shape_properties_interpolate(obj, from, to, pos_map);
    tvg_shape_append_path(tvg_dest, path_commands_from, cmds_count_from, path_coords_dest, pts_count_from);
+   free(path_coords_dest);
    return EINA_TRUE;
 }
 #endif