Merge "rtsp: fix integer overflow caused by malformed packets" into qt-qpr1-dev am: 01e349c1e7

Change-Id: If3e8019ba9de625f2b550f0d43e4e28ba0a0253c
gugelfrei
Robert Shih 4 years ago committed by Automerger Merge Worker
commit 0bf91a9596

@ -338,6 +338,12 @@ ARTPAssembler::AssemblyStatus AMPEG4ElementaryAssembler::addPacket(
ABitReader bits(buffer->data() + offset, buffer->size() - offset);
unsigned auxSize = bits.getBits(mAuxiliaryDataSizeLength);
if (buffer->size() < auxSize) {
ALOGE("b/123940919 auxSize %u", auxSize);
android_errorWriteLog(0x534e4554, "123940919");
queue->erase(queue->begin());
return MALFORMED_PACKET;
}
offset += (mAuxiliaryDataSizeLength + auxSize + 7) / 8;
}
@ -346,6 +352,12 @@ ARTPAssembler::AssemblyStatus AMPEG4ElementaryAssembler::addPacket(
it != headers.end(); ++it) {
const AUHeader &header = *it;
if (buffer->size() < header.mSize) {
ALOGE("b/123940919 AU_size %u", header.mSize);
android_errorWriteLog(0x534e4554, "123940919");
queue->erase(queue->begin());
return MALFORMED_PACKET;
}
if (buffer->size() < offset + header.mSize) {
return MALFORMED_PACKET;
}

Loading…
Cancel
Save