summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2017-05-16 16:15:28 -0600
committerGitHub <noreply@github.com>2017-05-16 16:15:28 -0600
commitd4eaa2c01801ca2ce46b0c8b345367a54c8dde4b (patch)
treedb63c8e4d2e1ac0b0317a3c5b6286d63587d69ef
parentc61044412938fc7a41930688cf85e6fee5208044 (diff)
parentb67796b03da98d9dcf66e8eea711e815baa544d2 (diff)
downloadnumpy-d4eaa2c01801ca2ce46b0c8b345367a54c8dde4b.tar.gz
Merge pull request #9119 from SuperBo/master
BUG: Fix error handling on PyCapsule when initializing multiarraymodule
-rw-r--r--numpy/core/src/multiarray/multiarraymodule.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/numpy/core/src/multiarray/multiarraymodule.c b/numpy/core/src/multiarray/multiarraymodule.c
index cdc905b51..842e183de 100644
--- a/numpy/core/src/multiarray/multiarraymodule.c
+++ b/numpy/core/src/multiarray/multiarraymodule.c
@@ -4607,15 +4607,13 @@ PyMODINIT_FUNC initmultiarray(void) {
if (PyType_Ready(&NpyBusDayCalendar_Type) < 0) {
return RETVAL;
}
-/* FIXME
- * There is no error handling here
- */
+
c_api = NpyCapsule_FromVoidPtr((void *)PyArray_API, NULL);
- PyDict_SetItemString(d, "_ARRAY_API", c_api);
- Py_DECREF(c_api);
- if (PyErr_Occurred()) {
+ if (c_api == NULL) {
goto err;
}
+ PyDict_SetItemString(d, "_ARRAY_API", c_api);
+ Py_DECREF(c_api);
/*
* PyExc_Exception should catch all the standard errors that are
@@ -4633,10 +4631,10 @@ PyMODINIT_FUNC initmultiarray(void) {
PyDict_SetItemString(d, "__version__", s);
Py_DECREF(s);
-/* FIXME
- * There is no error handling here
- */
s = NpyCapsule_FromVoidPtr((void *)_datetime_strings, NULL);
+ if (s == NULL) {
+ goto err;
+ }
PyDict_SetItemString(d, "DATETIMEUNITS", s);
Py_DECREF(s);