]> git.sesse.net Git - ffmpeg/commitdiff
4xmdec: test version for cfrms, fix out of array accesses
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 12 Nov 2012 13:56:07 +0000 (14:56 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 12 Nov 2012 13:56:33 +0000 (14:56 +0100)
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/4xm.c

index bbf6d902c0926f4c44000da6f17da6232a305065..bd7069227324e1419343d44ba55ff586469115b2 100644 (file)
@@ -811,6 +811,11 @@ static int decode_frame(AVCodecContext *avctx, void *data,
             return AVERROR_INVALIDDATA;
         }
 
+        if (f->version <= 1) {
+            av_log(f->avctx, AV_LOG_ERROR, "cfrm in version %d\n", f->version);
+            return AVERROR_INVALIDDATA;
+        }
+
         for (i = 0; i < CFRAME_BUFFER_COUNT; i++)
             if (f->cfrm[i].id && f->cfrm[i].id < avctx->frame_number)
                 av_log(f->avctx, AV_LOG_ERROR, "lost c frame %d\n",