changeset 650:e5b423479f99

Revert behaviour of PluginParameterParser#isInt to fail on overflow
author Adam Domurad <adomurad@redhat.com>
date Fri, 22 Mar 2013 10:32:05 -0400
parents 7543d0b4e502
children 4deea6488148
files ChangeLog plugin/icedteanp/java/sun/applet/PluginParameterParser.java tests/netx/unit/sun/applet/PluginParameterParserTest.java
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Mar 22 10:13:34 2013 -0400
+++ b/ChangeLog	Fri Mar 22 10:32:05 2013 -0400
@@ -1,3 +1,8 @@
+2013-03-22  Adam Domurad <adomurad@redhat.com>
+
+	* plugin/icedteanp/java/sun/applet/PluginParameterParser.java
+	(isInt): Revert behaviour to catching NumberFormatException
+
 2013-03-22  Adam Domurad <adomurad@redhat.com>
 
 	* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
--- a/plugin/icedteanp/java/sun/applet/PluginParameterParser.java	Fri Mar 22 10:13:34 2013 -0400
+++ b/plugin/icedteanp/java/sun/applet/PluginParameterParser.java	Fri Mar 22 10:32:05 2013 -0400
@@ -60,7 +60,12 @@
     }
 
     static boolean isInt(String s) {
-        return s.matches("^-?\\d+$");
+        try {
+            Integer.parseInt(s);
+            return true;
+        } catch(NumberFormatException e) {
+            return false;
+        }
     }
 
     /**
--- a/tests/netx/unit/sun/applet/PluginParameterParserTest.java	Fri Mar 22 10:13:34 2013 -0400
+++ b/tests/netx/unit/sun/applet/PluginParameterParserTest.java	Fri Mar 22 10:32:05 2013 -0400
@@ -15,6 +15,10 @@
         assertFalse(PluginParameterParser.isInt("1.0"));
         assertFalse(PluginParameterParser.isInt("abc"));
         assertTrue(PluginParameterParser.isInt("1"));
+
+        /* Numbers that overflow or underflow can cause problems if we 
+         * consider them valid, and pass them to parseInt: */
+        assertFalse(PluginParameterParser.isInt("4294967295"));
     }
 
     @Test