diff options
Diffstat (limited to 'telephony/common')
-rwxr-xr-x | telephony/common/com/google/android/mms/pdu/PduParser.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/telephony/common/com/google/android/mms/pdu/PduParser.java b/telephony/common/com/google/android/mms/pdu/PduParser.java index 5340245ae869..677fe2f188a9 100755 --- a/telephony/common/com/google/android/mms/pdu/PduParser.java +++ b/telephony/common/com/google/android/mms/pdu/PduParser.java @@ -1550,6 +1550,11 @@ public class PduParser { if (cur < TEXT_MIN) { int length = parseValueLength(pduDataStream); int startPos = pduDataStream.available(); + if (length > startPos) { + Log.e(LOG_TAG, "parseContentType: Invalid length " + length + + " when available bytes are " + startPos); + return (PduContentTypes.contentTypes[0]).getBytes(); //"*/*" + } pduDataStream.mark(1); temp = pduDataStream.read(); assert(-1 != temp); |