ref: 1160f113153dba190f40f09aa0442798e75774da
parent: e9a2af140453c055aefc224169061d3436fceaa1
author: Paul Brossier <[email protected]>
date: Thu Jan 12 17:58:19 EST 2017
src/pitch/pitchspecacf.c: return NULL if fft creation failed
--- a/src/pitch/pitchspecacf.c
+++ b/src/pitch/pitchspecacf.c
@@ -42,9 +42,10 @@
new_aubio_pitchspecacf (uint_t bufsize)
{
aubio_pitchspecacf_t *p = AUBIO_NEW (aubio_pitchspecacf_t);
+ p->fft = new_aubio_fft (bufsize);
+ if (!p->fft) goto beach;
p->win = new_aubio_window ("hanningz", bufsize);
p->winput = new_fvec (bufsize);
- p->fft = new_aubio_fft (bufsize);
p->fftout = new_fvec (bufsize);
p->sqrmag = new_fvec (bufsize);
p->acf = new_fvec (bufsize / 2 + 1);
@@ -51,6 +52,10 @@
p->tol = 1.;
p->confidence = 0.;
return p;
+
+beach:
+ AUBIO_FREE(p);
+ return NULL;
}
void