shithub: aubio

Download patch

ref: f14a78d83431facbbe9e350460e8116ef1c66f9e
parent: b276dee4f0888ff5eaff9f03244e2d49f6e7241b
author: Paul Brossier <piem@piem.org>
date: Sat Sep 8 12:12:31 EDT 2007

filterbank.c: make sure we never write out of input/output vectors in aubio_filterbank_do

--- a/src/filterbank.c
+++ b/src/filterbank.c
@@ -169,9 +169,10 @@
 
 void aubio_filterbank_do(aubio_filterbank_t * f, cvec_t * in, fvec_t *out) {
   uint_t n, filter_cnt;
-  for(filter_cnt = 0; filter_cnt < f->n_filters; filter_cnt++){
+  for(filter_cnt = 0; (filter_cnt < f->n_filters)
+    && (filter_cnt < out->length); filter_cnt++){
       out->data[0][filter_cnt] = 0.f;
-      for(n = 0; n < f->win_s; n++){
+      for(n = 0; n < in->length; n++){
           out->data[0][filter_cnt] += in->norm[0][n] 
             * f->filters[filter_cnt]->data[0][n];
       }
--