From 9cd0d3289f33c8a77170fe99bf69090858c9ddea Mon Sep 17 00:00:00 2001 From: Outfluencer Date: Sun, 1 Jun 2025 22:03:06 +0200 Subject: [PATCH] #3838, #3839: Check CaseInsensitiveHashingStrategy equals for null strings --- .../util/CaseInsensitiveHashingStrategy.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/net/md_5/bungee/util/CaseInsensitiveHashingStrategy.java b/api/src/main/java/net/md_5/bungee/util/CaseInsensitiveHashingStrategy.java index 5460cbfa..e561b3e3 100644 --- a/api/src/main/java/net/md_5/bungee/util/CaseInsensitiveHashingStrategy.java +++ b/api/src/main/java/net/md_5/bungee/util/CaseInsensitiveHashingStrategy.java @@ -11,12 +11,27 @@ class CaseInsensitiveHashingStrategy implements Hash.Strategy @Override public int hashCode(String object) { + if ( object == null ) + { + return 0; + } + return object.toLowerCase( Locale.ROOT ).hashCode(); } @Override public boolean equals(String o1, String o2) { - return o1.equals( o2 ) || ( o1 instanceof String && o2 instanceof String && o1.toLowerCase( Locale.ROOT ).equals( o2.toLowerCase( Locale.ROOT ) ) ); + if ( o1 == o2 ) + { + return true; + } + + if ( o1 == null || o2 == null ) + { + return false; + } + + return o1.equals( o2 ) || o1.toLowerCase( Locale.ROOT ).equals( o2.toLowerCase( Locale.ROOT ) ); } }