From 44d38a00d4e68338a78c71c9979eb96ec95d44e0 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Sun, 20 Oct 2019 08:27:06 -0700 Subject: [PATCH] Fix capabilities NPE --- .../org/whispersystems/textsecuregcm/storage/Account.java | 4 +++- .../java/org/whispersystems/textsecuregcm/storage/Device.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java index f94aab91b..2a0379184 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java @@ -133,7 +133,9 @@ public class Account implements Principal { } public boolean isUuidAddressingSupported() { - return devices.stream().filter(Device::isEnabled).allMatch(device -> device.getCapabilities().isUuid()); + return devices.stream() + .filter(Device::isEnabled) + .allMatch(device -> device.getCapabilities() != null && device.getCapabilities().isUuid()); } public boolean isEnabled() { diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java index e1d672d32..1941e1cc0 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/Device.java @@ -23,6 +23,8 @@ import org.whispersystems.textsecuregcm.entities.UserCapabilities; import org.whispersystems.textsecuregcm.entities.SignedPreKey; import org.whispersystems.textsecuregcm.util.Util; +import javax.annotation.Nullable; +import javax.validation.constraints.Null; import java.util.concurrent.TimeUnit; public class Device { @@ -188,7 +190,7 @@ public class Device { return new AuthenticationCredentials(authToken, salt); } - public DeviceCapabilities getCapabilities() { + public @Nullable DeviceCapabilities getCapabilities() { return capabilities; }