aacsbr: handle m_max values smaller than 4.

Message ID 20120323210040.2AFDB5E0A4@aruru.libav.org
State New
Headers show

Commit Message

Janne Grunau March 23, 2012, 9 p.m.
Module: libav
Branch: master
Commit: 71ea26811cbd8345cb10ab29406594e1fc19204e

Author:    Ronald S. Bultje <rsbultje@gmail.com>
Committer: Ronald S. Bultje <rsbultje@gmail.com>
Date:      Thu Mar 22 11:50:48 2012 -0700

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

---

 libavcodec/x86/sbrdsp.asm |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Patch

diff --git a/libavcodec/x86/sbrdsp.asm b/libavcodec/x86/sbrdsp.asm
index 31a1c8b..6f66327 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]