summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/core/src/umath/ufunc_type_resolution.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/numpy/core/src/umath/ufunc_type_resolution.c b/numpy/core/src/umath/ufunc_type_resolution.c
index 465deb87b..a3f97a8f3 100644
--- a/numpy/core/src/umath/ufunc_type_resolution.c
+++ b/numpy/core/src/umath/ufunc_type_resolution.c
@@ -540,7 +540,12 @@ PyUFunc_SimpleUniformOperationTypeResolver(
out_dtypes[iop] = PyArray_DESCR(operands[iop]);
Py_INCREF(out_dtypes[iop]);
}
- return raise_no_loop_found_error(ufunc, out_dtypes);
+ raise_no_loop_found_error(ufunc, out_dtypes);
+ for (iop = 0; iop < ufunc->nin; iop++) {
+ Py_DECREF(out_dtypes[iop]);
+ out_dtypes[iop] = NULL;
+ }
+ return -1;
}
out_dtypes[0] = PyArray_ResultType(ufunc->nin, operands, 0, NULL);
}