src/pitch/pitchschmitt.c: avoid out of bound reads
authorPaul Brossier <piem@piem.org>
Tue, 10 Jul 2012 22:28:39 +0000 (15:28 -0700)
committerPaul Brossier <piem@piem.org>
Tue, 10 Jul 2012 22:28:39 +0000 (15:28 -0700)
src/pitch/pitchschmitt.c

index 6f0176197657eb9078d14d4902a3b9807fcc8ef0..0c9acbc758583134a0ae880bdc6d56d305698bcd 100644 (file)
@@ -84,9 +84,9 @@ aubio_schmittS16LE (aubio_pitchschmitt_t * p, uint_t nframes,
       t1 = (sint_t) (A1 * trigfact + 0.5);
       t2 = -(sint_t) (A2 * trigfact + 0.5);
       startpoint = 0;
-      for (j = 1; schmittBuffer[j] <= t1 && j < blockSize; j++);
-      for (; !(schmittBuffer[j] >= t2 &&
-              schmittBuffer[j + 1] < t2) && j < blockSize; j++);
+      for (j = 1; j < blockSize && schmittBuffer[j] <= t1; j++);
+      for (     ; j < blockSize - 1 && !(schmittBuffer[j] >= t2 &&
+             schmittBuffer[j + 1] < t2); j++);
       startpoint = j;
       schmittTriggered = 0;
       endpoint = startpoint + 1;