diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2017-05-16 16:15:28 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-16 16:15:28 -0600 |
commit | d4eaa2c01801ca2ce46b0c8b345367a54c8dde4b (patch) | |
tree | db63c8e4d2e1ac0b0317a3c5b6286d63587d69ef | |
parent | c61044412938fc7a41930688cf85e6fee5208044 (diff) | |
parent | b67796b03da98d9dcf66e8eea711e815baa544d2 (diff) | |
download | numpy-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.c | 16 |
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); |