summaryrefslogtreecommitdiff
path: root/numpy/core/src/scalarmathmodule.c.src
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2009-02-09 20:18:08 +0000
committerPauli Virtanen <pav@iki.fi>2009-02-09 20:18:08 +0000
commit114c5c609e55f0863a30b1edff7b1c7bf783263f (patch)
tree40da8bb646139f7905900f4868d47bba60e202cc /numpy/core/src/scalarmathmodule.c.src
parentdab616fe622b7669278be1a139169bf323718241 (diff)
downloadnumpy-114c5c609e55f0863a30b1edff7b1c7bf783263f.tar.gz
Fix #955: fix errobj leak in scalarmath floating point error handling
Diffstat (limited to 'numpy/core/src/scalarmathmodule.c.src')
-rw-r--r--numpy/core/src/scalarmathmodule.c.src10
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@