diff options
author | Matti Picus <matti.picus@gmail.com> | 2022-03-24 16:35:09 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-24 16:35:09 -0600 |
commit | 2c89e154c5130de2c49c4af7bf8ca83779861ae8 (patch) | |
tree | 6c9316f4c78afb4f09bca5dcba6d26c542bbcb03 /numpy/core/src | |
parent | c9689ca05a3084483a10c1b1d5570453a12d3ce6 (diff) | |
parent | e8e2ea0e020c0f0715f6b233543604f711533628 (diff) | |
download | numpy-2c89e154c5130de2c49c4af7bf8ca83779861ae8.tar.gz |
Merge pull request #21231 from seberg/array-prio
BUG: Catch error if array-priority is not float compatible
Diffstat (limited to 'numpy/core/src')
-rw-r--r-- | numpy/core/src/multiarray/multiarraymodule.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/numpy/core/src/multiarray/multiarraymodule.c b/numpy/core/src/multiarray/multiarraymodule.c index f206ce2c6..831e68705 100644 --- a/numpy/core/src/multiarray/multiarraymodule.c +++ b/numpy/core/src/multiarray/multiarraymodule.c @@ -129,12 +129,18 @@ PyArray_GetPriority(PyObject *obj, double default_) ret = PyArray_LookupSpecial_OnInstance(obj, "__array_priority__"); if (ret == NULL) { if (PyErr_Occurred()) { - PyErr_Clear(); /* TODO[gh-14801]: propagate crashes during attribute access? */ + /* TODO[gh-14801]: propagate crashes during attribute access? */ + PyErr_Clear(); } return default_; } priority = PyFloat_AsDouble(ret); + if (error_converting(priority)) { + /* TODO[gh-14801]: propagate crashes for bad priority? */ + PyErr_Clear(); + return default_; + } Py_DECREF(ret); return priority; } |