summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/core/src/multiarray/scalarapi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/numpy/core/src/multiarray/scalarapi.c b/numpy/core/src/multiarray/scalarapi.c
index e409e9874..28c010f8f 100644
--- a/numpy/core/src/multiarray/scalarapi.c
+++ b/numpy/core/src/multiarray/scalarapi.c
@@ -235,6 +235,7 @@ PyArray_CastScalarToCtype(PyObject *scalar, void *ctypeptr,
descr = PyArray_DescrFromScalar(scalar);
castfunc = PyArray_GetCastFunc(descr, outcode->type_num);
if (castfunc == NULL) {
+ Py_XDECREF(descr);
return -1;
}
if (PyTypeNum_ISEXTENDED(descr->type_num) ||
@@ -254,6 +255,7 @@ PyArray_CastScalarToCtype(PyObject *scalar, void *ctypeptr,
NPY_ARRAY_CARRAY, NULL);
if (aout == NULL) {
Py_DECREF(ain);
+ Py_DECREF(descr);
return -1;
}
castfunc(PyArray_DATA(ain), PyArray_DATA(aout), 1, ain, aout);