You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2019/11/25 16:57:25 UTC

[commons-io] branch master updated: [IO-642] NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only one input is null.

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git


The following commit(s) were added to refs/heads/master by this push:
     new c936be4  [IO-642] NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only one input is null.
c936be4 is described below

commit c936be45fac0d73ac27c207311e4e910bf0522e5
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Nov 25 11:57:21 2019 -0500

    [IO-642] NPE in
    org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader)
    when only one input is null.
---
 src/changes/changes.xml                                  |  5 ++++-
 src/main/java/org/apache/commons/io/IOUtils.java         |  3 +++
 src/test/java/org/apache/commons/io/IOUtilsTestCase.java | 12 ++++++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1623495..35a79f0 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -167,10 +167,13 @@ The <action> type attribute can be add,update,fix,remove.
       </action>
       <action issue="IO-640" dev="ggregory" type="add" due-to="Gary Gregory">
         NPE in org.apache.commons.io.IOUtils.contentEquals(InputStream, InputStream) when only one input is null.
-      </action>
+      </action>"src/changes/changes.xml"
       <action issue="IO-641" dev="ggregory" type="add" due-to="Gary Gregory">
         NPE in org.apache.commons.io.IOUtils.contentEquals(Reader, Reader) when only one input is null.
       </action>
+      <action issue="IO-642" dev="ggregory" type="add" due-to="Gary Gregory">
+        NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only one input is null.
+      </action>
     </release>
 
     <release version="2.6" date="2017-10-15" description="Java 7 required, Java 9 supported.">
diff --git a/src/main/java/org/apache/commons/io/IOUtils.java b/src/main/java/org/apache/commons/io/IOUtils.java
index 0fb82c3..4f84559 100644
--- a/src/main/java/org/apache/commons/io/IOUtils.java
+++ b/src/main/java/org/apache/commons/io/IOUtils.java
@@ -789,6 +789,9 @@ public class IOUtils {
         if (input1 == input2) {
             return true;
         }
+        if (input1 == null ^ input2 == null) {
+            return false;
+        }
         final BufferedReader br1 = toBufferedReader(input1);
         final BufferedReader br2 = toBufferedReader(input2);
 
diff --git a/src/test/java/org/apache/commons/io/IOUtilsTestCase.java b/src/test/java/org/apache/commons/io/IOUtilsTestCase.java
index 0a61982..4a50246 100644
--- a/src/test/java/org/apache/commons/io/IOUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/io/IOUtilsTestCase.java
@@ -292,6 +292,18 @@ public class IOUtilsTestCase {
     @Test public void testContentEqualsIgnoreEOL() throws Exception {
         {
             final Reader input1 = new CharArrayReader("".toCharArray());
+            assertTrue(IOUtils.contentEqualsIgnoreEOL((Reader) null, null));
+        }
+        {
+            final Reader input1 = new CharArrayReader("".toCharArray());
+            assertFalse(IOUtils.contentEqualsIgnoreEOL(null, input1));
+        }
+        {
+            final Reader input1 = new CharArrayReader("".toCharArray());
+            assertFalse(IOUtils.contentEqualsIgnoreEOL(input1, null));
+        }
+        {
+            final Reader input1 = new CharArrayReader("".toCharArray());
             assertTrue(IOUtils.contentEqualsIgnoreEOL(input1, input1));
         }
         {