avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 81c1657a59)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
8eaefbe1be
commit
ce248bf7ee
1 changed files with 2 additions and 1 deletions
|
|
@ -45,8 +45,9 @@ static int dvdsub_parse(AVCodecParserContext *s,
|
|||
DVDSubParseContext *pc = s->priv_data;
|
||||
|
||||
if (pc->packet_index == 0) {
|
||||
if (buf_size < 2)
|
||||
if (buf_size < 2 || AV_RB16(buf) && buf_size < 6) {
|
||||
return buf_size;
|
||||
}
|
||||
pc->packet_len = AV_RB16(buf);
|
||||
if (pc->packet_len == 0) /* HD-DVD subpicture packet */
|
||||
pc->packet_len = AV_RB32(buf+2);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue