From 0a28c505063f0fdbfa24c28dc1e67704e10127b5 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 24 Feb 2017 15:27:19 +0100 Subject: [PATCH] avcodec/scpr: improve motion vectors checking for out of buffer write Signed-off-by: Paul B Mahol --- libavcodec/scpr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/scpr.c b/libavcodec/scpr.c index 0802dd4d70..75e8ffab32 100644 --- a/libavcodec/scpr.c +++ b/libavcodec/scpr.c @@ -509,8 +509,8 @@ static int decompress_p(AVCodecContext *avctx, 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++) { - for (j = 0; j < sx2 - sx1 && (bx + sx1 + j) < avctx->width; j++) { + for (i = 0; i < sy2 - sy1 && (by + sy1 + i) < avctx->height && (by + mvy + sy1 + i) < avctx->height; i++) { + for (j = 0; j < sx2 - sx1 && (bx + sx1 + j) < avctx->width && (bx + mvx + sx1 + j) < avctx->width; j++) { dst[(by + i + sy1) * linesize + bx + sx1 + j] = prev[(by + mvy + sy1 + i) * plinesize + bx + sx1 + mvx + j]; } }