From 0aad82d3d79fee25a43956663e3ade28b3e90553 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 27 Jan 2020 12:15:32 -0400 Subject: [PATCH] Check content disposition flag in carrier config before parsing PDU. Fixes #9081 --- .../securesms/mms/IncomingLollipopMmsConnection.java | 5 ++++- 1 file changed, 4 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 2e873e988f..a084db6fb6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingLollipopMmsConnection.java @@ -123,7 +123,10 @@ public class IncomingLollipopMmsConnection extends LollipopMmsConnection impleme Log.i(TAG, baos.size() + "-byte response: ");// + Hex.dump(baos.toByteArray())); - RetrieveConf retrieved = (RetrieveConf) new PduParser(baos.toByteArray()).parse(); + Bundle configValues = smsManager.getCarrierConfigValues(); + boolean parseContentDisposition = configValues.getBoolean(SmsManager.MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION); + + RetrieveConf retrieved = (RetrieveConf) new PduParser(baos.toByteArray(), parseContentDisposition).parse(); if (retrieved == null) return null;