mirror of https://git.ffmpeg.org/ffmpeg.git
mpegts: check get16() return value
And break flow of execution rather than exiting the function. CC: libav-stable@libav.org Bug-Id: CID 732186
This commit is contained in:
parent
430a816859
commit
8b263331c5
|
@ -1343,6 +1343,8 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
|
||||||
switch (desc_tag) {
|
switch (desc_tag) {
|
||||||
case 0x1E: /* SL descriptor */
|
case 0x1E: /* SL descriptor */
|
||||||
desc_es_id = get16(pp, desc_end);
|
desc_es_id = get16(pp, desc_end);
|
||||||
|
if (desc_es_id < 0)
|
||||||
|
break;
|
||||||
if (ts && ts->pids[pid])
|
if (ts && ts->pids[pid])
|
||||||
ts->pids[pid]->es_id = desc_es_id;
|
ts->pids[pid]->es_id = desc_es_id;
|
||||||
for (i = 0; i < mp4_descr_count; i++)
|
for (i = 0; i < mp4_descr_count; i++)
|
||||||
|
@ -1361,7 +1363,8 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x1F: /* FMC descriptor */
|
case 0x1F: /* FMC descriptor */
|
||||||
get16(pp, desc_end);
|
if (get16(pp, desc_end) < 0)
|
||||||
|
break;
|
||||||
if (mp4_descr_count > 0 &&
|
if (mp4_descr_count > 0 &&
|
||||||
st->codec->codec_id == AV_CODEC_ID_AAC_LATM &&
|
st->codec->codec_id == AV_CODEC_ID_AAC_LATM &&
|
||||||
mp4_descr->dec_config_descr_len && mp4_descr->es_id == pid) {
|
mp4_descr->dec_config_descr_len && mp4_descr->es_id == pid) {
|
||||||
|
|
Loading…
Reference in New Issue