From 702bfa51705839bb9a274411d2e0d19bcd0c27e7 Mon Sep 17 00:00:00 2001 From: csrster Date: Tue, 31 May 2022 08:20:02 +0200 Subject: [PATCH] Removed a potential NPE in hashCode method to CrawlURI which was fatal for heritrix Browse Beans functionality. (cherry picked from commit 96e47a2f695a3116d89f02e7cb529ca181d21444) --- modules/src/main/java/org/archive/modules/CrawlURI.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/src/main/java/org/archive/modules/CrawlURI.java b/modules/src/main/java/org/archive/modules/CrawlURI.java index d6e729fa..1b0c4bbb 100644 --- a/modules/src/main/java/org/archive/modules/CrawlURI.java +++ b/modules/src/main/java/org/archive/modules/CrawlURI.java @@ -1835,8 +1835,11 @@ implements Reporter, Serializable, OverlayContext, Comparable { @Override public int hashCode() { int r = 37; - return r ^ hash(via.toString()) ^ hash(uuri.toString()) - ^ hash(viaContext.toString()) ^ hash(pathFromSeed.toString()); + String viaString = (via == null) ? "" : via.toString(); + String viaContextString = (viaContext == null) ? "" : viaContext.toString(); + String pathFromSeedString = (pathFromSeed == null) ? "" : pathFromSeed.toString(); + return r ^ hash(viaString) ^ hash(uuri.toString()) + ^ hash(viaContextString) ^ hash(pathFromSeedString); } // handles nulls