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); + } }