From df3ca4100bcc4ff3c25aa20a08704144d7214d4f Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 11 Jan 2021 20:14:03 +0100 Subject: [PATCH] [caps] Check for null in EntityCapsManager.addCapsExtension() To avoid a NPE, we check for null in addCapsExtension. Fixes SMACK-899. --- .../org/jivesoftware/smackx/caps/EntityCapsManager.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java index b776cf8a4..523213513 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java @@ -312,7 +312,10 @@ public final class EntityCapsManager extends Manager { // XEP-0115 specifies that a client SHOULD include entity capabilities // with every presence notification it sends. private void addCapsExtension(PresenceBuilder presenceBuilder) { - CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash(); + final CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash(); + if (capsVersionAndHash == null) { + return; + } CapsExtension caps = new CapsExtension(entityNode, capsVersionAndHash.version, capsVersionAndHash.hash); presenceBuilder.overrideExtension(caps); } @@ -434,10 +437,10 @@ public final class EntityCapsManager extends Manager { } /** - * Get our own caps version. The version depends on the enabled features. + * Get our own caps version or {@code null} if none is yet set. The version depends on the enabled features. * A caps version looks like '66/0NaeaBKkwk85efJTGmU47vXI=' * - * @return our own caps version + * @return our own caps version or {@code null}. */ public CapsVersionAndHash getCapsVersionAndHash() { return currentCapsVersion;