diff options
author | Robert Bradshaw <robertwb@gmail.com> | 2015-10-09 20:29:17 -0700 |
---|---|---|
committer | Robert Bradshaw <robertwb@gmail.com> | 2015-10-09 20:29:17 -0700 |
commit | 7bd4b6dd37d101e5f4168b8816f16c863ac98687 (patch) | |
tree | 4d92624fabe629cb5ca3b3d2143f885e44182994 | |
parent | 9d5ee4fafc63c20317c80abeff00d192e5ac77d4 (diff) | |
parent | 4818c9e88ee89fb497de8979297b1e703e6a2128 (diff) | |
download | cython-7bd4b6dd37d101e5f4168b8816f16c863ac98687.tar.gz |
Merge pull request #450 from pubnub/pr/0.23.x-1
Fix a memory leak in ObjectHandling.c
-rw-r--r-- | Cython/Utility/ObjectHandling.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Cython/Utility/ObjectHandling.c b/Cython/Utility/ObjectHandling.c index f17d62c0b..7850ff0ab 100644 --- a/Cython/Utility/ObjectHandling.c +++ b/Cython/Utility/ObjectHandling.c @@ -1445,8 +1445,12 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObjec } #else static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject* args = PyTuple_Pack(1, arg); - return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL; + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; } #endif |