[FFmpeg-cvslog] avcodec/rv30: check rpr before use against maximum

Michael Niedermayer git at videolan.org
Sat Jan 4 04:35:58 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Jan  4 04:17:15 2014 +0100| [d08c6e1101aa3f59d819f5c4aeef2d298e1b785c] | committer: Michael Niedermayer

avcodec/rv30: check rpr before use against maximum

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d08c6e1101aa3f59d819f5c4aeef2d298e1b785c
---

 libavcodec/rv30.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c
index 6c65afb..901ba89 100644
--- a/libavcodec/rv30.c
+++ b/libavcodec/rv30.c
@@ -52,6 +52,11 @@ static int rv30_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn
     si->pts = get_bits(gb, 13);
     rpr = get_bits(gb, av_log2(r->max_rpr) + 1);
     if(rpr){
+        if (rpr > r->max_rpr) {
+            av_log(avctx, AV_LOG_ERROR, "rpr too large\n");
+            return AVERROR_INVALIDDATA;
+        }
+
         if (avctx->extradata_size < rpr * 2 + 8) {
             av_log(avctx, AV_LOG_ERROR,
                    "Insufficient extradata - need at least %d bytes, got %d\n",



More information about the ffmpeg-cvslog mailing list