From: Mira Grudzinska Date: Wed, 19 Jan 2022 01:30:01 +0000 (+0100) Subject: svg_loader: restoring changes from ed3b17b2281df03f2df67ebc34cafa12b2aea737 X-Git-Tag: accepted/tizen/unified/20230302.131059~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ec669ec7145fbe90b3b6a926eedf0daac136100;p=platform%2Fcore%2Fgraphics%2Ftizenvg.git svg_loader: restoring changes from ed3b17b2281df03f2df67ebc34cafa12b2aea737 (preventing memcpy from a nullptr) Change-Id: If5e0628815d375d93334003f4d4e71da1c9f7b51 --- diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 6ebd882..c0d547e 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -2102,15 +2102,17 @@ static void _copyAttr(SvgNode* to, const SvgNode* from) break; } case SvgNodeType::Polygon: { - to->node.polygon.pointsCount = from->node.polygon.pointsCount; - 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)); + if ((to->node.polygon.pointsCount = from->node.polygon.pointsCount)) { + 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*)malloc(to->node.polyline.pointsCount * sizeof(float)); - memcpy(to->node.polyline.points, from->node.polyline.points, to->node.polyline.pointsCount * sizeof(float)); + if ((to->node.polyline.pointsCount = from->node.polyline.pointsCount)) { + 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; } case SvgNodeType::Image: {