summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-03-22 11:50:48 -0700
committerRonald S. Bultje <rsbultje@gmail.com>2012-03-23 12:56:08 -0700
commit71ea26811cbd8345cb10ab29406594e1fc19204e (patch)
tree71c3f835192a1b24921ebb3b1398d01fb899e127 /libavcodec/x86
parent73ad4471a48bd02b2c2a55de116161b87e061023 (diff)
aacsbr: handle m_max values smaller than 4.
Prevents a signflip in the counter, and a subsequent crash because of overreads/overwrites. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/sbrdsp.asm1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/x86/sbrdsp.asm b/libavcodec/x86/sbrdsp.asm
index 31a1c8b76f..6f66327088 100644
--- a/libavcodec/x86/sbrdsp.asm
+++ b/libavcodec/x86/sbrdsp.asm
@@ -81,6 +81,7 @@ cglobal sbr_hf_g_filt, 5, 6, 5
lea r2, [r2 + r3*4]
lea r0, [r0 + r3*8]
neg r3
+ jz .loop1
.loop4:
movlps m0, [r2 + 4*r3 + 0]
movlps m1, [r2 + 4*r3 + 8]