diff options
author | Pauli Virtanen <pav@iki.fi> | 2009-02-09 20:18:08 +0000 |
---|---|---|
committer | Pauli Virtanen <pav@iki.fi> | 2009-02-09 20:18:08 +0000 |
commit | 114c5c609e55f0863a30b1edff7b1c7bf783263f (patch) | |
tree | 40da8bb646139f7905900f4868d47bba60e202cc /numpy/core/src | |
parent | dab616fe622b7669278be1a139169bf323718241 (diff) | |
download | numpy-114c5c609e55f0863a30b1edff7b1c7bf783263f.tar.gz |
Fix #955: fix errobj leak in scalarmath floating point error handling
Diffstat (limited to 'numpy/core/src')
-rw-r--r-- | numpy/core/src/scalarmathmodule.c.src | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/numpy/core/src/scalarmathmodule.c.src b/numpy/core/src/scalarmathmodule.c.src index dd86678a3..3262999a0 100644 --- a/numpy/core/src/scalarmathmodule.c.src +++ b/numpy/core/src/scalarmathmodule.c.src @@ -636,8 +636,11 @@ static PyObject * &errobj) < 0) return NULL; first = 1; - if (PyUFunc_handlefperr(errmask, errobj, retstatus, &first)) + if (PyUFunc_handlefperr(errmask, errobj, retstatus, &first)) { + Py_XDECREF(errobj); return NULL; + } + Py_XDECREF(errobj); } #endif @@ -736,8 +739,11 @@ static PyObject * &errobj) < 0) return NULL; first = 1; - if (PyUFunc_handlefperr(errmask, errobj, retstatus, &first)) + if (PyUFunc_handlefperr(errmask, errobj, retstatus, &first)) { + Py_XDECREF(errobj); return NULL; + } + Py_XDECREF(errobj); } #if @isint@ |