[Tizen] Fix SVACE issue - change sscanf(%d) to strtol 62/131862/1
authorJinho, Lee <jeano.lee@samsung.com>
Wed, 31 May 2017 04:15:21 +0000 (13:15 +0900)
committerJinho, Lee <jeano.lee@samsung.com>
Wed, 31 May 2017 04:23:11 +0000 (13:23 +0900)
This reverts commit 3ff5d09452cb826eb6f2d1d16f21da5342f1a0c1.

Change-Id: Id677eec8d9a5608f211fbf65486005e99bf6a3a3

dali-toolkit/devel-api/controls/control-devel.h [changed mode: 0644->0755]
dali-toolkit/third-party/nanosvg/nanosvg.cc

old mode 100644 (file)
new mode 100755 (executable)
index d3ffc40..601413c 100644 (file)
@@ -1038,9 +1038,15 @@ static unsigned int nsvg__parseColorRGB(const char* str)
 
     /**
      * In the original file, the formatted data reading did not specify the string with width limitation.
-     * To prevent the possible overflow, we replace '%s' with '%32s' here.
+     * To prevent the possible overflow, we replace '%s' with '%31s' and use strtol here
      */
-    sscanf(str + 4, "%d%32[%%, \t]%d%32[%%, \t]%d", &r, s1, &g, s2, &b);
+    char* end;
+    r = strtol(str + 4, &end, 10);
+    sscanf(end, "%31[%%, \t]", s1);
+    g = strtol(end + strlen(s1), &end, 10);
+    sscanf(end, "%31[%%, \t]", s2);
+    b = strtol(end + strlen(s2), &end, 10);
+
     if (strchr(s1, '%')) {
         return NSVG_RGB((r*255)/100,(g*255)/100,(b*255)/100);
     } else {
@@ -1269,9 +1275,9 @@ static NSVGcoordinate nsvg__parseCoordinateRaw(const char* str)
 
     /**
      * In the original file, the formatted data reading did not specify the string with width limitation.
-     * To prevent the possible overflow, we replace '%s' with '%32s' here.
+     * To prevent the possible overflow, we replace '%s' with '%31s' here.
      */
-    sscanf(str, "%f%32s", &coord.value, units);
+    sscanf(str, "%f%31s", &coord.value, units);
     coord.units = nsvg__parseUnits(units);
     return coord;
 }