You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by pa...@apache.org on 2018/02/11 11:09:32 UTC

[1/2] [lang] LANG-1060: NumberUtils.isNumber assumes number starting with Zero is octal (closes #313)

Repository: commons-lang
Updated Branches:
  refs/heads/master c3b1fefba -> 6684a7631


LANG-1060: NumberUtils.isNumber assumes number starting with Zero is octal (closes #313)


Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/c8e61afd
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/c8e61afd
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/c8e61afd

Branch: refs/heads/master
Commit: c8e61afdb89c58ea8ffaf04593da41ff0888d30e
Parents: c3b1fef
Author: Piotr Kosmala <pi...@ncdc.pl>
Authored: Sat Feb 10 15:19:36 2018 +0100
Committer: pascalschumacher <pa...@gmx.net>
Committed: Sun Feb 11 12:08:33 2018 +0100

----------------------------------------------------------------------
 src/main/java/org/apache/commons/lang3/math/NumberUtils.java  | 2 +-
 .../java/org/apache/commons/lang3/math/NumberUtilsTest.java   | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/c8e61afd/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/math/NumberUtils.java b/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
index 5942db7..9428ba7 100644
--- a/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
+++ b/src/main/java/org/apache/commons/lang3/math/NumberUtils.java
@@ -1407,7 +1407,7 @@ public class NumberUtils {
         boolean foundDigit = false;
         // deal with any possible sign up front
         final int start = chars[0] == '-' || chars[0] == '+' ? 1 : 0;
-        if (sz > start + 1 && chars[start] == '0') { // leading 0
+        if (sz > start + 1 && chars[start] == '0' && !StringUtils.contains(str, '.')) { // leading 0, skip if is a decimal number
             if (chars[start + 1] == 'x' || chars[start + 1] == 'X') { // leading 0x/0X
                 int i = start + 2;
                 if (i == sz) {

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/c8e61afd/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
index 20d87fe..376a579 100644
--- a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java
@@ -1326,6 +1326,10 @@ public class NumberUtilsTest {
         compareIsNumberWithCreateNumber("-1234", true);
         compareIsNumberWithCreateNumber("-1234.5", true);
         compareIsNumberWithCreateNumber("-.12345", true);
+        compareIsNumberWithCreateNumber("-0001.12345", true);
+        compareIsNumberWithCreateNumber("-000.12345", true);
+        compareIsNumberWithCreateNumber("+00.12345", true);
+        compareIsNumberWithCreateNumber("+0002.12345", true);
         compareIsNumberWithCreateNumber("-1234E5", true);
         compareIsNumberWithCreateNumber("0", true);
         compareIsNumberWithCreateNumber("-0", true);
@@ -1342,6 +1346,7 @@ public class NumberUtilsTest {
         compareIsNumberWithCreateNumber(" ", false);
         compareIsNumberWithCreateNumber("\r\n\t", false);
         compareIsNumberWithCreateNumber("--2.3", false);
+
         compareIsNumberWithCreateNumber(".12.3", false);
         compareIsNumberWithCreateNumber("-123E", false);
         compareIsNumberWithCreateNumber("-123E+-212", false);
@@ -1352,6 +1357,8 @@ public class NumberUtilsTest {
         compareIsNumberWithCreateNumber("-0ABC123", false);
         compareIsNumberWithCreateNumber("123.4E-D", false);
         compareIsNumberWithCreateNumber("123.4ED", false);
+        compareIsNumberWithCreateNumber("+000E.12345", false);
+        compareIsNumberWithCreateNumber("-000E.12345", false);
         compareIsNumberWithCreateNumber("1234E5l", false);
         compareIsNumberWithCreateNumber("11a", false);
         compareIsNumberWithCreateNumber("1a", false);


[2/2] [lang] add changes.xml entry for "LANG-1060: NumberUtils.isNumber assumes number starting with Zero"

Posted by pa...@apache.org.
add changes.xml entry for "LANG-1060: NumberUtils.isNumber assumes number starting with Zero"


Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/6684a763
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/6684a763
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/6684a763

Branch: refs/heads/master
Commit: 6684a76317a5ca4ddd823c0915757b48e705427f
Parents: c8e61af
Author: pascalschumacher <pa...@gmx.net>
Authored: Sun Feb 11 12:09:19 2018 +0100
Committer: pascalschumacher <pa...@gmx.net>
Committed: Sun Feb 11 12:09:19 2018 +0100

----------------------------------------------------------------------
 src/changes/changes.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/6684a763/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 220578c..73297cc 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -46,7 +46,8 @@ The <action> type attribute can be add,update,fix,remove.
   <body>
 
   <release version="3.8" date="2017-MM-DD" description="New features and bug fixes. Requires Java 7, supports Java 8, 9, 10.">
-    <action issue="LANG-1375" type="fix" dev="kinow" due-to=" Jerry Zhao">defaultString(final String str) in StringUtils to reuse defaultString(final String str, final String defaultStr)</action>
+    <action issue="LANG-1060" type="fix" dev="pschumacher" due-to="Piotr Kosmala">NumberUtils.isNumber assumes number starting with Zero</action>
+    <action issue="LANG-1375" type="fix" dev="kinow" due-to="Jerry Zhao">defaultString(final String str) in StringUtils to reuse defaultString(final String str, final String defaultStr)</action>
     <action issue="LANG-1374" type="fix" dev="kinow" due-to="Jaswanth Bala">Parsing Json Array failed</action>
     <action issue="LANG-1371" type="fix" dev="pschumacher" due-to="Dmitry Ovchinnikov">Fix TypeUtils#parameterize to work correctly with narrower-typed array</action>
     <action issue="LANG-1370" type="fix" dev="kinow" due-to="Andre Dieb">Fix EventCountCircuitBreaker increment batch</action>