From 78726a9f782039b4d5855ed6dd01bd2615a147b9 Mon Sep 17 00:00:00 2001
From: Piotr Chludzinski
Date: Mon, 15 Mar 2021 10:53:15 +0100
Subject: [PATCH] efl_canvas_vg_shape: fix memory leak
Change-Id: I64e8b90956f55c993101689af01d54681417cc6d
Signed-off-by: Piotr Chludzinski
---
src/lib/evas/canvas/efl_canvas_vg_shape.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/lib/evas/canvas/efl_canvas_vg_shape.c b/src/lib/evas/canvas/efl_canvas_vg_shape.c
index 216807b..95fdce7 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_shape.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_shape.c
@@ -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
--
2.7.4