You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2017/10/02 21:04:26 UTC

svn commit: r1810603 - in /axis/axis2/java/core/trunk/modules/adb: src/org/apache/axis2/databinding/utils/ConverterUtil.java test/org/apache/axis2/databinding/utils/ConverterUtilTest.java

Author: veithen
Date: Mon Oct  2 21:04:26 2017
New Revision: 1810603

URL: http://svn.apache.org/viewvc?rev=1810603&view=rev
Log:
Avoid overflow in ConverterUtil.compare(int, int).

Modified:
    axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
    axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java

Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java?rev=1810603&r1=1810602&r2=1810603&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java Mon Oct  2 21:04:26 2017
@@ -1286,7 +1286,9 @@ public class ConverterUtil {
      * @return 0 if equal , + value if greater than , - value if less than
      */
     public static int compare(int intValue, String value) {
-        return intValue - Integer.parseInt(value);
+        int other = Integer.parseInt(value);
+        return intValue < other ? -1 : (intValue == other ? 0 : 1);
+
     }
 
     /**

Modified: axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java?rev=1810603&r1=1810602&r2=1810603&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/ConverterUtilTest.java Mon Oct  2 21:04:26 2017
@@ -21,6 +21,8 @@ package org.apache.axis2.databinding.uti
 
 import junit.framework.TestCase;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.text.SimpleDateFormat;
@@ -560,5 +562,8 @@ public class ConverterUtilTest extends T
 
     }
 
-
+    public void testCompareInt() {
+        // https://stackoverflow.com/questions/46372764/axis2-adb-and-mininclusive-2147483648
+        assertThat(ConverterUtil.compare(3, "-2147483648")).isGreaterThan(0);
+    }
 }