diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 8e52b449..cd1fec7e 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -1546,12 +1546,14 @@ static void _copyAttr(SvgNode* to, SvgNode* from) } case SvgNodeType::Polygon: { to->node.polygon.pointsCount = from->node.polygon.pointsCount; - to->node.polygon.points = (float*)calloc(to->node.polygon.pointsCount, sizeof(float)); + to->node.polygon.points = (float*)malloc(to->node.polygon.pointsCount * sizeof(float)); + memcpy(to->node.polygon.points, from->node.polygon.points, to->node.polygon.pointsCount * sizeof(float)); break; } case SvgNodeType::Polyline: { to->node.polyline.pointsCount = from->node.polyline.pointsCount; - to->node.polyline.points = (float*)calloc(to->node.polyline.pointsCount, sizeof(float)); + to->node.polyline.points = (float*)malloc(to->node.polyline.pointsCount * sizeof(float)); + memcpy(to->node.polyline.points, from->node.polyline.points, to->node.polyline.pointsCount * sizeof(float)); break; } default: {