From fba0ac28055d3dca2846ea41d3326f08455d1a4d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 29 May 2014 17:26:26 +0200 Subject: [PATCH] avcodec/dpx_parser: Allow frame size to be too small Fixes Ticket3402 Signed-off-by: Michael Niedermayer --- libavcodec/dpx_parser.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/dpx_parser.c b/libavcodec/dpx_parser.c index 5f29eee033..db6ebf7ddf 100644 --- a/libavcodec/dpx_parser.c +++ b/libavcodec/dpx_parser.c @@ -68,7 +68,6 @@ static int dpx_parse(AVCodecParserContext *s, AVCodecContext *avctx, d->remaining_size -= i; if (d->remaining_size) goto flush; - next = i; } } @@ -84,8 +83,15 @@ static int dpx_parse(AVCodecParserContext *s, AVCodecContext *avctx, if (d->fsize > buf_size - i + 19) d->remaining_size = d->fsize - buf_size + i - 19; else - next = d->fsize + i - 19; + i += d->fsize - 19; + break; + } else if (d->index > 17) { + if (d->pc.state == MKBETAG('S','D','P','X') || + d->pc.state == MKTAG('S','D','P','X')) { + next = i - 4; + break; + } } }