[FFmpeg-cvslog] avcodec/qpeg: fix off by 1 error in MV bounds check

Michael Niedermayer git at videolan.org
Fri Nov 28 20:28:46 CET 2014


ffmpeg | branch: release/0.5 | Michael Niedermayer <michaelni at gmx.at> | Fri Oct  3 21:08:52 2014 +0200| [eac21ee7ba0f9a29f96a0abd219f00075cbd30d7] | committer: Michael Niedermayer

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 at gmx.at>
(cherry picked from commit dd3bfe3cc1ca26d0fff3a3baf61a40207032143f)

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

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

 libavcodec/qpeg.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/qpeg.c b/libavcodec/qpeg.c
index aa8f69c..454c371 100644
--- a/libavcodec/qpeg.c
+++ b/libavcodec/qpeg.c
@@ -165,7 +165,7 @@ static void qpeg_decode_inter(const uint8_t *src, uint8_t *dst, int size,
 
                     /* 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);



More information about the ffmpeg-cvslog mailing list