Ok, ts demuxer is more complicated than I thought
Revert r18454 and fix correctly #700 Stop parsing if end of buffer is reached while reading patch by Björn Axelsson, bjorn dot axelsson at intinor dot se Originally committed as revision 18455 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:

committed by
Baptiste Coudurier

parent
2b97246ec2
commit
a4d2af9b96
@@ -555,7 +555,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
|||||||
if (desc_list_len < 0)
|
if (desc_list_len < 0)
|
||||||
break;
|
break;
|
||||||
desc_list_end = p + desc_list_len;
|
desc_list_end = p + desc_list_len;
|
||||||
if (desc_list_end >= p_end)
|
if (desc_list_end > p_end)
|
||||||
break;
|
break;
|
||||||
for(;;) {
|
for(;;) {
|
||||||
desc_tag = get8(&p, desc_list_end);
|
desc_tag = get8(&p, desc_list_end);
|
||||||
@@ -571,6 +571,8 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
desc_len = get8(&p, desc_list_end);
|
desc_len = get8(&p, desc_list_end);
|
||||||
|
if (desc_len < 0)
|
||||||
|
break;
|
||||||
desc_end = p + desc_len;
|
desc_end = p + desc_len;
|
||||||
if (desc_end > desc_list_end)
|
if (desc_end > desc_list_end)
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user