Skip to content

Commit 7fed4a3

Browse files
author
Gary Gregory
committed
[IO-644] NPE in
org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when only one input is null.
1 parent 8c8b770 commit 7fed4a3

3 files changed

Lines changed: 11 additions & 2 deletions

File tree

src/changes/changes.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ The <action> type attribute can be add,update,fix,remove.
174174
<action issue="IO-643" dev="ggregory" type="add" due-to="Gary Gregory">
175175
NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only one input is null.
176176
</action>
177-
<action issue="IO-643" dev="ggregory" type="add" due-to="Gary Gregory">
178-
NPE in org.apache.commons.io.FileUtils.contentEquals(File, File) when only one input is null.
177+
<action issue="IO-644" dev="ggregory" type="add" due-to="Gary Gregory">
178+
NPE in org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when only one input is null.
179179
</action>
180180
</release>
181181

src/main/java/org/apache/commons/io/FileUtils.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,12 @@ public static boolean contentEquals(final File file1, final File file2) throws I
445445
*/
446446
public static boolean contentEqualsIgnoreEOL(final File file1, final File file2, final String charsetName)
447447
throws IOException {
448+
if (file1 == null && file2 == null) {
449+
return true;
450+
}
451+
if (file1 == null ^ file2 == null) {
452+
return false;
453+
}
448454
final boolean file1Exists = file1.exists();
449455
if (file1Exists != file2.exists()) {
450456
return false;

src/test/java/org/apache/commons/io/FileUtilsTestCase.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,9 @@ public void testContentEqualsIgnoreEOL() throws Exception {
630630
// Non-existent files
631631
final File file1 = new File(temporaryFolder, getName());
632632
final File file2 = new File(temporaryFolder, getName() + "2");
633+
assertTrue(FileUtils.contentEqualsIgnoreEOL(null, null, null));
634+
assertFalse(FileUtils.contentEqualsIgnoreEOL(null, file1, null));
635+
assertFalse(FileUtils.contentEqualsIgnoreEOL(file1, null, null));
633636
// both don't exist
634637
assertTrue(FileUtils.contentEqualsIgnoreEOL(file1, file1, null));
635638
assertTrue(FileUtils.contentEqualsIgnoreEOL(file1, file2, null));

0 commit comments

Comments
 (0)