summaryrefslogtreecommitdiff
path: root/numpy/core/src/ufuncobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/core/src/ufuncobject.c')
-rw-r--r--numpy/core/src/ufuncobject.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/numpy/core/src/ufuncobject.c b/numpy/core/src/ufuncobject.c
index da0c31e36..088f1029d 100644
--- a/numpy/core/src/ufuncobject.c
+++ b/numpy/core/src/ufuncobject.c
@@ -3197,7 +3197,7 @@ ufunc_geterr(PyObject *dummy, PyObject *args)
static int
ufunc_update_use_defaults(void)
{
- PyObject *errobj;
+ PyObject *errobj=NULL;
int errmask, bufsize;
int res;
@@ -3206,7 +3206,7 @@ ufunc_update_use_defaults(void)
&errobj);
PyUFunc_NUM_NODEFAULTS -= 1;
- if (res < 0) return -1;
+ if (res < 0) {Py_XDECREF(errobj); return -1;}
if ((errmask != UFUNC_ERR_DEFAULT) || \
(bufsize != PyArray_BUFSIZE) || \
@@ -3216,6 +3216,7 @@ ufunc_update_use_defaults(void)
else if (PyUFunc_NUM_NODEFAULTS > 0) {
PyUFunc_NUM_NODEFAULTS -= 1;
}
+ Py_XDECREF(errobj);
return 0;
}
#endif