aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-10-03 21:08:52 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-10-03 21:32:12 +0200
commitd36bb362a673b6e4aeab8200a66798a3fccecb6b (patch)
tree5e4a58d6b642657606edf3de4a35da1938fd0150
parentbe7105dff61e3356459546ea952c0ea795674106 (diff)
downloadffmpeg-d36bb362a673b6e4aeab8200a66798a3fccecb6b.tar.gz
avcodec/qpeg: fix off by 1 error in MV bounds check
Fixes out of array access Fixes: asan_heap-oob_153760f_4_asan_heap-oob_1d7a4cf_164_VWbig6.avi Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit dd3bfe3cc1ca26d0fff3a3baf61a40207032143f) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/qpeg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/qpeg.c b/libavcodec/qpeg.c
index 6015b7f4b0..d7356baed2 100644
--- a/libavcodec/qpeg.c
+++ b/libavcodec/qpeg.c
@@ -163,7 +163,7 @@ static void qpeg_decode_inter(QpegContext *qctx, uint8_t *dst,
/* check motion vector */
if ((me_x + filled < 0) || (me_x + me_w + filled > width) ||
- (height - me_y - me_h < 0) || (height - me_y > orig_height) ||
+ (height - me_y - me_h < 0) || (height - me_y >= orig_height) ||
(filled + me_w > width) || (height - me_h < 0))
av_log(NULL, AV_LOG_ERROR, "Bogus motion vector (%i,%i), block size %ix%i at %i,%i\n",
me_x, me_y, me_w, me_h, filled, height);