mpegts: Validate the SL Packet Header Configuration

timeStampLength, OCRLength and AU_Length have well specified upper
boundaries.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
Luca Barbato 2016-02-17 02:16:42 +01:00
parent 1982d0cc56
commit 74d98d1b0e

View File

@ -1171,6 +1171,11 @@ static int parse_MP4SLDescrTag(MP4DescrParseContext *d, int64_t off, int len)
descr->sl.degr_prior_len = lengths >> 12;
descr->sl.au_seq_num_len = (lengths >> 7) & 0x1f;
descr->sl.packet_seq_num_len = (lengths >> 2) & 0x1f;
if (descr->sl.timestamp_len >= 64 ||
descr->sl.ocr_len >= 64 ||
descr->sl.au_len >= 32) {
return AVERROR_INVALIDDATA;
}
} else {
avpriv_report_missing_feature(d->s, "Predefined SLConfigDescriptor");
}