mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
mpegts: Fix dead error checks
This commit is contained in:
parent
95b192de5d
commit
c9024a9fd7
@ -1389,16 +1389,18 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||
return;
|
||||
|
||||
clear_program(ts, h->id);
|
||||
pcr_pid = get16(&p, p_end) & 0x1fff;
|
||||
pcr_pid = get16(&p, p_end);
|
||||
if (pcr_pid < 0)
|
||||
return;
|
||||
pcr_pid &= 0x1fff;
|
||||
add_pid_to_pmt(ts, h->id, pcr_pid);
|
||||
|
||||
av_dlog(ts->stream, "pcr_pid=0x%x\n", pcr_pid);
|
||||
|
||||
program_info_length = get16(&p, p_end) & 0xfff;
|
||||
program_info_length = get16(&p, p_end);
|
||||
if (program_info_length < 0)
|
||||
return;
|
||||
program_info_length &= 0xfff;
|
||||
while(program_info_length >= 2) {
|
||||
uint8_t tag, len;
|
||||
tag = get8(&p, p_end);
|
||||
@ -1436,9 +1438,10 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||
stream_type = get8(&p, p_end);
|
||||
if (stream_type < 0)
|
||||
break;
|
||||
pid = get16(&p, p_end) & 0x1fff;
|
||||
pid = get16(&p, p_end);
|
||||
if (pid < 0)
|
||||
break;
|
||||
pid &= 0x1fff;
|
||||
|
||||
/* now create stream */
|
||||
if (ts->pids[pid] && ts->pids[pid]->type == MPEGTS_PES) {
|
||||
@ -1476,9 +1479,10 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||
|
||||
ff_program_add_stream_index(ts->stream, h->id, st->index);
|
||||
|
||||
desc_list_len = get16(&p, p_end) & 0xfff;
|
||||
desc_list_len = get16(&p, p_end);
|
||||
if (desc_list_len < 0)
|
||||
break;
|
||||
desc_list_len &= 0xfff;
|
||||
desc_list_end = p + desc_list_len;
|
||||
if (desc_list_end > p_end)
|
||||
break;
|
||||
@ -1522,9 +1526,10 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||
sid = get16(&p, p_end);
|
||||
if (sid < 0)
|
||||
break;
|
||||
pmt_pid = get16(&p, p_end) & 0x1fff;
|
||||
pmt_pid = get16(&p, p_end);
|
||||
if (pmt_pid < 0)
|
||||
break;
|
||||
pmt_pid &= 0x1fff;
|
||||
|
||||
av_dlog(ts->stream, "sid=0x%x pid=0x%x\n", sid, pmt_pid);
|
||||
|
||||
@ -1572,9 +1577,10 @@ static void sdt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||
val = get8(&p, p_end);
|
||||
if (val < 0)
|
||||
break;
|
||||
desc_list_len = get16(&p, p_end) & 0xfff;
|
||||
desc_list_len = get16(&p, p_end);
|
||||
if (desc_list_len < 0)
|
||||
break;
|
||||
desc_list_len &= 0xfff;
|
||||
desc_list_end = p + desc_list_len;
|
||||
if (desc_list_end > p_end)
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user