CVE-2017-14160: fix bounds check on very low sample rates.
[platform/upstream/libvorbis.git] / lib / psy.c
index 1ca809e..1310123 100644 (file)
--- a/lib/psy.c
+++ b/lib/psy.c
@@ -11,7 +11,6 @@
  ********************************************************************
 
  function: psychoacoustics not including preecho
- last mod: $Id$
 
  ********************************************************************/
 
@@ -603,8 +602,9 @@ static void bark_noise_hybridmp(int n,const long *b,
   for (i = 0, x = 0.f;; i++, x += 1.f) {
 
     lo = b[i] >> 16;
-    if( lo>=0 ) break;
     hi = b[i] & 0xffff;
+    if( lo>=0 ) break;
+    if( hi>=n ) break;
 
     tN = N[hi] + N[-lo];
     tX = X[hi] - X[-lo];