svg_loader: handle the exception properly. 77/289177/1
authorHermet Park <hermetpark@gmail.com>
Mon, 21 Feb 2022 02:28:02 +0000 (11:28 +0900)
committerMichal Szczecinski <m.szczecinsk@partner.samsung.com>
Thu, 2 Mar 2023 08:12:18 +0000 (09:12 +0100)
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

index 1ec9732..37711d4 100644 (file)
@@ -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")) {