From 7876b67aca5b6aff2cda6b721b2aba1764e0c1aa Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Fri, 13 May 2016 17:22:32 +0200 Subject: [PATCH] python/ext/py-filterbank.c: fix error message formatting, do not delete if not created --- python/ext/py-filterbank.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/python/ext/py-filterbank.c b/python/ext/py-filterbank.c index a8795b0e..a4e0ea63 100644 --- a/python/ext/py-filterbank.c +++ b/python/ext/py-filterbank.c @@ -59,10 +59,8 @@ Py_filterbank_init (Py_filterbank * self, PyObject * args, PyObject * kwds) { self->o = new_aubio_filterbank (self->n_filters, self->win_s); if (self->o == NULL) { - char_t errstr[30]; - sprintf(errstr, "error creating filterbank with n_filters=%d, win_s=%d", - self->n_filters, self->win_s); - PyErr_SetString (PyExc_RuntimeError, errstr); + PyErr_Format(PyExc_RuntimeError, "error creating filterbank with" + " n_filters=%d, win_s=%d", self->n_filters, self->win_s); return -1; } self->out = new_py_fvec(self->n_filters); @@ -73,9 +71,11 @@ Py_filterbank_init (Py_filterbank * self, PyObject * args, PyObject * kwds) static void Py_filterbank_del (Py_filterbank *self, PyObject *unused) { - del_aubio_filterbank(self->o); - Py_DECREF(self->out); - free(self->coeffs.data); + if (self->o) { + free(self->coeffs.data); + del_aubio_filterbank(self->o); + } + Py_XDECREF(self->out); Py_TYPE(self)->tp_free((PyObject *) self); } -- 2.11.0