Another segfault fix (real this time) to bark_noise_median
authorMonty <xiphmont@xiph.org>
Thu, 1 Feb 2001 02:10:55 +0000 (02:10 +0000)
committerMonty <xiphmont@xiph.org>
Thu, 1 Feb 2001 02:10:55 +0000 (02:10 +0000)
svn path=/trunk/vorbis/; revision=1237

lib/psy.c

index 7f3f942..3f9e63a 100644 (file)
--- a/lib/psy.c
+++ b/lib/psy.c
@@ -12,7 +12,7 @@
  ********************************************************************
 
  function: psychoacoustics not including preecho
- last mod: $Id: psy.c,v 1.38 2001/02/01 01:29:17 xiphmont Exp $
+ last mod: $Id: psy.c,v 1.39 2001/02/01 02:10:55 xiphmont Exp $
 
  ********************************************************************/
 
@@ -564,6 +564,7 @@ static void bark_noise_median(long n,float *b,float *f,float *noise,
     for(;hi<n && (hi<i+himin || b[hi]<=bi+hiwidth);hi++){
       int bin=BIN(f[hi]);
       if(bin>LASTBIN)bin=LASTBIN;
+      if(bin<0)bin=0;
       radix[bin]++;
       if(bin<median)
        countabove++;
@@ -573,6 +574,7 @@ static void bark_noise_median(long n,float *b,float *f,float *noise,
     for(;lo<i && lo+lomin<i && b[lo]+lowidth<=bi;lo++){
       int bin=BIN(f[lo]);
       if(bin>LASTBIN)bin=LASTBIN;
+      if(bin<0)bin=0;
       radix[bin]--;
       if(bin<median)
        countabove--;