From 233045f7965afed60983347f055f2a012a13b02c Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Mon, 12 Jul 2021 11:55:33 +0900 Subject: [PATCH] svg_loader SvgPath: Skip invalid path If the d attribute of SVG path is not parsed through _nextCommand(), it is regarded as an invalid data. --- src/loaders/svg/tvgSvgPath.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/loaders/svg/tvgSvgPath.cpp b/src/loaders/svg/tvgSvgPath.cpp index a962cd20..1c8538fc 100644 --- a/src/loaders/svg/tvgSvgPath.cpp +++ b/src/loaders/svg/tvgSvgPath.cpp @@ -286,7 +286,7 @@ static int _numberCount(char cmd) } -static void _processCommand(Array* cmds, Array* pts, char cmd, float* arr, int count, Point* cur, Point* curCtl, Point* startPoint, bool *isQuadratic) +static bool _processCommand(Array* cmds, Array* pts, char cmd, float* arr, int count, Point* cur, Point* curCtl, Point* startPoint, bool *isQuadratic) { switch (cmd) { case 'm': @@ -449,9 +449,10 @@ static void _processCommand(Array* cmds, Array* pts, char cm break; } default: { - break; + return false; } } + return true; } @@ -525,7 +526,7 @@ bool svgPathToTvgPath(const char* svgPath, Array& cmds, Array