diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-07-17 15:22:36 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-21 17:56:15 +0200 |
commit | 5c2d6849862f975254a82d8cdb82d64f8f148ec2 (patch) | |
tree | 609dc3bb9c819f2ca4b97d19ec922c807c40705e | |
parent | 77dafced713f47dc7c356689871b2ba9d8e64f45 (diff) | |
download | ffmpeg-5c2d6849862f975254a82d8cdb82d64f8f148ec2.tar.gz |
Check extradata size on resolution change.
Ignore resolution change if resolution not defined in extradata.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
(cherry picked from commit 09c5f990bc7629dfbee8c760fd485936c60a7b40)
-rw-r--r-- | libavcodec/rv30.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index b43859b9cb..53d824a109 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -51,6 +51,11 @@ static int rv30_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn skip_bits1(gb); si->pts = get_bits(gb, 13); rpr = get_bits(gb, r->rpr); + if (r->s.avctx->extradata_size < 8 + rpr*2) { + av_log(r->s.avctx, AV_LOG_WARNING, + "Extradata does not contain selected resolution\n"); + rpr = 0; + } if(rpr){ w = r->s.avctx->extradata[6 + rpr*2] << 2; h = r->s.avctx->extradata[7 + rpr*2] << 2; |