From 5be246ec8f5eb909a25f8622e48a55fb6bf38779 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Fri, 21 Jul 2017 16:11:55 -0700 Subject: [PATCH] Fix NPE for SMS pdus that could potentially be null // FREEBIE --- .../thoughtcrime/securesms/jobs/SmsReceiveJob.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java b/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java index 1491dcf504..ae6cee56a1 100644 --- a/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java +++ b/src/org/thoughtcrime/securesms/jobs/SmsReceiveJob.java @@ -1,6 +1,8 @@ package org.thoughtcrime.securesms.jobs; import android.content.Context; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.telephony.SmsMessage; import android.util.Log; @@ -27,10 +29,10 @@ public class SmsReceiveJob extends ContextJob { private static final String TAG = SmsReceiveJob.class.getSimpleName(); - private final Object[] pdus; + private final @Nullable Object[] pdus; private final int subscriptionId; - public SmsReceiveJob(Context context, Object[] pdus, int subscriptionId) { + public SmsReceiveJob(@NonNull Context context, @Nullable Object[] pdus, int subscriptionId) { super(context, JobParameters.newBuilder() .withPersistence() .withWakeLock(true) @@ -104,7 +106,11 @@ public class SmsReceiveJob extends ContextJob { } } - private Optional assembleMessageFragments(Object[] pdus, int subscriptionId) { + private Optional assembleMessageFragments(@Nullable Object[] pdus, int subscriptionId) { + if (pdus == null) { + return Optional.absent(); + } + List messages = new LinkedList<>(); for (Object pdu : pdus) {