From 242dbef54e12b7294a03728185f2c666b75846bb Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Sun, 15 Feb 2015 21:53:59 -0800 Subject: [PATCH] Prevent NPE when MMS's FROM PduHeader is missing Fixes #1448 // FREEBIE --- src/org/thoughtcrime/securesms/database/MmsDatabase.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/org/thoughtcrime/securesms/database/MmsDatabase.java b/src/org/thoughtcrime/securesms/database/MmsDatabase.java index 9e6a4f973..4985dab76 100644 --- a/src/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/src/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -239,7 +239,7 @@ public class MmsDatabase extends Database implements MmsSmsColumns { } } - private long getThreadIdFor(IncomingMediaMessage retrieved) throws RecipientFormattingException { + private long getThreadIdFor(IncomingMediaMessage retrieved) throws RecipientFormattingException, MmsException { if (retrieved.getGroupId() != null) { Recipients groupRecipients = RecipientFactory.getRecipientsFromString(context, retrieved.getGroupId(), true); return DatabaseFactory.getThreadDatabase(context).getThreadIdFor(groupRecipients); @@ -253,6 +253,10 @@ public class MmsDatabase extends Database implements MmsSmsColumns { EncodedStringValue[] encodedCcList = headers.getEncodedStringValues(PduHeaders.CC); EncodedStringValue[] encodedToList = headers.getEncodedStringValues(PduHeaders.TO); + if (encodedFrom == null) { + throw new MmsException("FROM value in PduHeaders did not exist."); + } + group.add(new String(encodedFrom.getTextString(), CharacterSets.MIMENAME_ISO_8859_1)); TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);