svg_loader: custom _strndup added 29/289029/1
authorMira Grudzinska <m.grudzinska@samsung.com>
Thu, 20 Jan 2022 01:07:30 +0000 (02:07 +0100)
committerMichal Szczecinski <mihashco89@gmail.com>
Mon, 27 Feb 2023 09:56:33 +0000 (10:56 +0100)
For the compatibility reasons a custom version of strndup is
introduced.

Change-Id: I8c1d0581eed8e708d7d3d5af121a7933b33ab77c

src/loaders/svg/tvgXmlParser.cpp

index e3e42b0..7c3bb56 100644 (file)
@@ -236,6 +236,14 @@ static SimpleXMLType _getXMLType(const char* itr, const char* itrEnd, size_t &to
 }
 
 
+static char* _strndup(const char* src, unsigned len)
+{
+    auto ret = (char*)malloc(len + 1);
+    if (!ret) return nullptr;
+    ret[len] = '\0';
+    return (char*)memcpy(ret, src, len);
+}
+
 /************************************************************************/
 /* External Class Implementation                                        */
 /************************************************************************/
@@ -547,10 +555,10 @@ const char* simpleXmlParseCSSAttribute(const char* buf, unsigned bufLength, char
     }
 
     if (p == itr) *tag = strdup("all");
-    else *tag = strndup(itr, p - itr);
+    else *tag = _strndup(itr, p - itr);
 
     if (p == itrEnd) *name = nullptr;
-    else *name = strndup(p + 1, itrEnd - p - 1);
+    else *name = _strndup(p + 1, itrEnd - p - 1);
 
     return (nextElement ? nextElement + 1 : nullptr);
 }