]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/x86/diracdsp: Fix incorrect src addressing in dequant_subband_32()
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 29 Jan 2020 21:11:45 +0000 (22:11 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 30 Jan 2020 17:47:21 +0000 (18:47 +0100)
Fixes: Segfault (not reproducable with asm, which made this hard to debug)
Fixes: decoding errors
Fixes: 19854/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5729372837511168
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/x86/diracdsp.asm

index cc8a26fca5fb595ca7edcb4836795f3027c7a848..a18bda113e8db375d6b92b1264e72455fbb692b5 100644 (file)
@@ -294,8 +294,9 @@ cglobal dequant_subband_32, 7, 7, 4, src, dst, stride, qf, qs, tot_v, tot_h
 
     add    srcq, mmsize
     add    dstq, mmsize
-    sub    tot_hd, 4
+    sub    tot_hq, 4
     jg     .loop_h
+    lea    srcq, [srcq + 4*tot_hq]
 
     add    r3, strideq
     dec    tot_vd