From a51791aa94882742c2b618ed27bca72125f61eed Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 13 Jan 2014 09:20:53 -0500 Subject: [PATCH] fix refleak in the error case --- Modules/audioop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/audioop.c b/Modules/audioop.c index bae4f2687e6..f8bb18acf98 100644 --- a/Modules/audioop.c +++ b/Modules/audioop.c @@ -1505,7 +1505,7 @@ audioop_lin2adpcm(PyObject *self, PyObject *args) Py_ssize_t i; int size, step, valpred, delta, index, sign, vpdiff, diff; - PyObject *rv = NULL, *state, *str; + PyObject *rv = NULL, *state, *str = NULL; int outputbuffer = 0, bufferstep; if (!PyArg_ParseTuple(args, "y*iO:lin2adpcm", @@ -1605,8 +1605,8 @@ audioop_lin2adpcm(PyObject *self, PyObject *args) bufferstep = !bufferstep; } rv = Py_BuildValue("(O(ii))", str, valpred, index); - Py_DECREF(str); exit: + Py_XDECREF(str); PyBuffer_Release(&view); return rv; }