summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2021-05-07 15:08:13 -0600
committerGitHub <noreply@github.com>2021-05-07 15:08:13 -0600
commitd908afddfad9508f837aadc6b8c29dd0c94694a1 (patch)
tree9942fc267b42bd143977dd4e9a1ffde66ddc986f
parentec8d87581fa7555091ef152208f397c78c5940af (diff)
parent2430c7614ac04f4a70840836cd58ba09ce20a690 (diff)
downloadnumpy-d908afddfad9508f837aadc6b8c29dd0c94694a1.tar.gz
Merge pull request #18931 from seberg/leak-dtype-deprecation-tests
BUG: Fix refcounting in string-promotion deprecation code path
-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);
}