From eda95c9c22b4f0b466ae94c4708765eaae6e709e Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Sat, 24 Nov 2018 16:29:45 +0100 Subject: [PATCH] [filterbank] validate input parameters --- src/spectral/filterbank.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/spectral/filterbank.c b/src/spectral/filterbank.c index 5497a4fd..fb82ec02 100644 --- a/src/spectral/filterbank.c +++ b/src/spectral/filterbank.c @@ -42,6 +42,15 @@ new_aubio_filterbank (uint_t n_filters, uint_t win_s) { /* allocate space for filterbank object */ aubio_filterbank_t *fb = AUBIO_NEW (aubio_filterbank_t); + + if ((sint_t)n_filters <= 0) { + AUBIO_ERR("filterbank: n_filters should be > 0, got %d\n", n_filters); + goto fail; + } + if ((sint_t)win_s <= 0) { + AUBIO_ERR("filterbank: win_s should be > 0, got %d\n", win_s); + goto fail; + } fb->win_s = win_s; fb->n_filters = n_filters; @@ -53,6 +62,9 @@ new_aubio_filterbank (uint_t n_filters, uint_t win_s) fb->power = 1; return fb; +fail: + AUBIO_FREE (fb); + return NULL; } void -- 2.11.0