Browse Source

Fixing array bounds

Code could fail if `charToString` was bigger than `intToString`
Sébastien Ros 7 years ago
parent
commit
0c64f8b06b
1 changed files with 7 additions and 5 deletions
  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;
         }
     }
-}
+}