From bdda2586e9d6ce1d6c33d4f33f5b6e70117c03b2 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Mon, 21 Feb 2022 11:28:02 +0900 Subject: [PATCH] svg_loader: handle the exception properly. viewBox doesn't expect the missing attributes, it won't have any default values. So we can decide the fault when the values are missed. --- src/loaders/svg/tvgSvgLoader.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 270c62ea..2391603f 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -1143,13 +1143,8 @@ static bool _attrParseSymbolNode(void* data, const char* key, const char* value) SvgSymbolNode* symbol = &(node->node.symbol); if (!strcmp(key, "viewBox")) { - if (_parseNumber(&value, &symbol->vx)) { - if (_parseNumber(&value, &symbol->vy)) { - if (_parseNumber(&value, &symbol->vw)) { - _parseNumber(&value, &symbol->vh); - } - } - } + if (!_parseNumber(&value, &symbol->vx) || !_parseNumber(&value, &symbol->vy)) return false; + if (!_parseNumber(&value, &symbol->vw) || !_parseNumber(&value, &symbol->vh)) return false; } else if (!strcmp(key, "width")) { symbol->w = _toFloat(loader->svgParse, value, SvgParserLengthType::Horizontal); } else if (!strcmp(key, "height")) {