Skip to content

Commit b15537a

Browse files
committed
Make CanonizingStringMap not crash on null keys/values
1 parent 76485b0 commit b15537a

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

common/src/main/java/org/embeddedt/modernfix/util/CanonizingStringMap.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,16 @@ public int hashCode() {
141141
}
142142

143143
public static <T> CanonizingStringMap<T> deepCopy(CanonizingStringMap<T> inputMap, Function<T, T> deepCopier) {
144+
Objects.requireNonNull(deepCopier);
144145
Object2ObjectMap<String, T> copiedBackingMap;
145146
int size = inputMap.backingMap.size();
146147
if(size > GROWTH_THRESHOLD) {
147148
copiedBackingMap = new Object2ObjectOpenHashMap<>(size);
148149
} else
149150
copiedBackingMap = new Object2ObjectArrayMap<>(size);
150151
inputMap.backingMap.object2ObjectEntrySet().forEach(entry -> {
151-
copiedBackingMap.put(entry.getKey(), deepCopier.apply(entry.getValue()));
152+
if(entry.getKey() != null && entry.getValue() != null)
153+
copiedBackingMap.put(entry.getKey(), deepCopier.apply(entry.getValue()));
152154
});
153155
return new CanonizingStringMap<>(copiedBackingMap);
154156
}

0 commit comments

Comments
 (0)