diff --git a/src/org/thoughtcrime/securesms/database/MmsDatabase.java b/src/org/thoughtcrime/securesms/database/MmsDatabase.java index 9e6a4f9731..4985dab763 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);