avcodec/scpr: improve check for out of range motion vectors
authorPaul B Mahol <onemda@gmail.com>
Thu, 23 Feb 2017 18:45:12 +0000 (19:45 +0100)
committerPaul B Mahol <onemda@gmail.com>
Thu, 23 Feb 2017 18:45:12 +0000 (19:45 +0100)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/scpr.c

index 319057c..5555d81 100644 (file)
@@ -504,7 +504,8 @@ static int decompress_p(AVCodecContext *avctx,
                 mvx -= 256;
                 mvy -= 256;
 
-                if (by + mvy + sy1 < 0 || bx + mvx + sx1 < 0)
+                if (by + mvy + sy1 < 0 || bx + mvx + sx1 < 0 ||
+                    by + mvy + sy1 >= avctx->height || bx + mvx + sx1 >= avctx->width)
                     return AVERROR_INVALIDDATA;
 
                 for (i = 0; i < sy2 - sy1 && (by + sy1 + i) < avctx->height; i++) {