Преглед изворни кода

Fixing array bounds

Code could fail if `charToString` was bigger than `intToString`
Sébastien Ros пре 7 година
родитељ
комит
0c64f8b06b
1 измењених фајлова са 7 додато и 5 уклоњено
  1. 7 5
      Jint/Runtime/TypeConverter.cs

+ 7 - 5
Jint/Runtime/TypeConverter.cs

@@ -37,10 +37,12 @@ namespace Jint.Runtime
             for (var i = 0; i < intToString.Length; ++i)
             {
                 intToString[i] = i.ToString();
-                if (i < charToString.Length)
-                {
-                    charToString[(char) i] = ((char) i).ToString();
-                }
+            }
+
+            for (var i = 0; i < charToString.Length; ++i)
+            {
+                var c = (char) i;
+                charToString[i] = c.ToString();
             }
         }
 
@@ -490,4 +492,4 @@ namespace Jint.Runtime
             return !type.IsValueType() || Nullable.GetUnderlyingType(type) != null;
         }
     }
-}
+}