From ae7cb5492efed969b967817bc19588a7a7dd8aa1 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. Change-Id: I99a1e97d6d5bd569cf53d1eca2d4d4905a69e08b --- 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 1ec9732..37711d4 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")) { -- 2.7.4