From 5e106bf5109bf5ca8b26ab557ec77be0ce245ca4 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 25 Feb 2021 09:26:03 -0500 Subject: [PATCH] Prevent possible NPE when handling early message content. --- .../messages/MessageContentProcessor.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java index ef3e5018d3..e1a553ed19 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageContentProcessor.java @@ -170,14 +170,16 @@ public final class MessageContentProcessor { if (messageState == MessageState.DECRYPTED_OK) { handleMessage(content, timestamp, optionalSmsMessageId); - Optional> earlyContent = ApplicationDependencies.getEarlyMessageCache() - .retrieve(Recipient.externalPush(context, content.getSender()).getId(), - content.getTimestamp()); - if (earlyContent.isPresent()) { - log(TAG, String.valueOf(content.getTimestamp()), "Found " + earlyContent.get().size() + " dependent item(s) that were retrieved earlier. Processing."); + if (content != null) { + Optional> earlyContent = ApplicationDependencies.getEarlyMessageCache() + .retrieve(Recipient.externalPush(context, content.getSender()).getId(), + content.getTimestamp()); + if (earlyContent.isPresent()) { + log(TAG, String.valueOf(content.getTimestamp()), "Found " + earlyContent.get().size() + " dependent item(s) that were retrieved earlier. Processing."); - for (SignalServiceContent earlyItem : earlyContent.get()) { - handleMessage(earlyItem, timestamp, Optional.absent()); + for (SignalServiceContent earlyItem : earlyContent.get()) { + handleMessage(earlyItem, timestamp, Optional.absent()); + } } } } else if (exceptionMetadata != null) {