From 8deec9569c2741c2fc5a78e375765dfb93586f49 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Mon, 22 May 2017 16:08:22 -0400 Subject: [PATCH] Protect against NPE in DefaultSubscriptionRegistry Follow-up fix on the recent commit: https://github.com/spring-projects/spring-framework/commit/4fc41e Issue: SPR-15543 --- .../messaging/simp/broker/DefaultSubscriptionRegistry.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/broker/DefaultSubscriptionRegistry.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/broker/DefaultSubscriptionRegistry.java index 8f95bffc7e8..5a55128501d 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/broker/DefaultSubscriptionRegistry.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/broker/DefaultSubscriptionRegistry.java @@ -293,7 +293,8 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry { if (getPathMatcher().match(destination, cachedDestination)) { LinkedMultiValueMap subs = entry.getValue(); // Subscription id's may also be populated via getSubscriptions() - if (!subs.containsKey(sessionId) || !subs.get(sessionId).contains(subsId)) { + List subsForSession = subs.get(sessionId); + if (subsForSession == null || !subsForSession.contains(subsId)) { subs.add(sessionId, subsId); this.accessCache.put(cachedDestination, subs.deepCopy()); }