From f4f656dffacef65cb5b2a2a779a02e60e821a61e Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Tue, 31 Dec 2013 10:52:21 +0000 Subject: [PATCH] equals implementations are not null-safe git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1554398 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/types/Resource.java | 3 ++- .../org/apache/tools/ant/types/resources/ArchiveResource.java | 2 +- .../org/apache/tools/ant/types/resources/FileResource.java | 2 +- src/main/org/apache/tools/ant/types/resources/URLResource.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/org/apache/tools/ant/types/Resource.java b/src/main/org/apache/tools/ant/types/Resource.java index bbabdb17b..7ea776fe6 100644 --- a/src/main/org/apache/tools/ant/types/Resource.java +++ b/src/main/org/apache/tools/ant/types/Resource.java @@ -287,7 +287,8 @@ public class Resource extends DataType implements Comparable, Resource if (isReference()) { return getCheckedRef().equals(other); } - return other.getClass().equals(getClass()) && compareTo((Resource) other) == 0; + return other != null && other.getClass().equals(getClass()) + && compareTo((Resource) other) == 0; } /** diff --git a/src/main/org/apache/tools/ant/types/resources/ArchiveResource.java b/src/main/org/apache/tools/ant/types/resources/ArchiveResource.java index 6fea79238..a6cba5b7b 100644 --- a/src/main/org/apache/tools/ant/types/resources/ArchiveResource.java +++ b/src/main/org/apache/tools/ant/types/resources/ArchiveResource.java @@ -216,7 +216,7 @@ public abstract class ArchiveResource extends Resource { if (isReference()) { return getCheckedRef().equals(another); } - if (!(another.getClass().equals(getClass()))) { + if (another == null || !(another.getClass().equals(getClass()))) { return false; } ArchiveResource r = (ArchiveResource) another; diff --git a/src/main/org/apache/tools/ant/types/resources/FileResource.java b/src/main/org/apache/tools/ant/types/resources/FileResource.java index 6e0600f0e..e7070323f 100644 --- a/src/main/org/apache/tools/ant/types/resources/FileResource.java +++ b/src/main/org/apache/tools/ant/types/resources/FileResource.java @@ -299,7 +299,7 @@ public class FileResource extends Resource implements Touchable, FileProvider, if (isReference()) { return getCheckedRef().equals(another); } - if (!(another.getClass().equals(getClass()))) { + if (another == null || !(another.getClass().equals(getClass()))) { return false; } FileResource otherfr = (FileResource) another; diff --git a/src/main/org/apache/tools/ant/types/resources/URLResource.java b/src/main/org/apache/tools/ant/types/resources/URLResource.java index 9f6aea9f0..f184def9f 100644 --- a/src/main/org/apache/tools/ant/types/resources/URLResource.java +++ b/src/main/org/apache/tools/ant/types/resources/URLResource.java @@ -298,7 +298,7 @@ public class URLResource extends Resource implements URLProvider { if (isReference()) { return getCheckedRef().equals(another); } - if (!(another.getClass().equals(getClass()))) { + if (another == null || !(another.getClass().equals(getClass()))) { return false; } URLResource otheru = (URLResource) another;