From c225c2b37d002b84cd34218beb6feae950b8b09e Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 5 Oct 2021 11:30:01 -0300 Subject: [PATCH] Check for NPE when bad data is passed to the PDUParser. --- .../securesms/mms/IncomingLollipopMmsConnection.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java index 2bf5cc13d..efc29a74e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java @@ -126,7 +126,14 @@ public class IncomingLollipopMmsConnection extends LollipopMmsConnection impleme Bundle configValues = smsManager.getCarrierConfigValues(); boolean parseContentDisposition = configValues.getBoolean(SmsManager.MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION); - RetrieveConf retrieved = (RetrieveConf) new PduParser(baos.toByteArray(), parseContentDisposition).parse(); + RetrieveConf retrieved; + + try { + retrieved = (RetrieveConf) new PduParser(baos.toByteArray(), parseContentDisposition).parse(); + } catch (NullPointerException e) { + Log.w(TAG, "Badly formatted MMS message caused the parser to fail.", e); + throw new MmsException(e); + } if (retrieved == null) return null;