Add validity check to detect invalid PDUs.

Test: manual
Bug: 181382933
Change-Id: I32cdca12c279bf0514a8b7d102d5b4b6b0d76314
This commit is contained in:
Amit Mahajan
2021-05-12 17:19:20 -07:00
parent ef36e9f960
commit 0445be53de

View File

@@ -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);