diff options
Diffstat (limited to 'scipy/base/src/arraymethods.c')
-rw-r--r-- | scipy/base/src/arraymethods.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scipy/base/src/arraymethods.c b/scipy/base/src/arraymethods.c index dea12cc48..449736e87 100644 --- a/scipy/base/src/arraymethods.c +++ b/scipy/base/src/arraymethods.c @@ -110,7 +110,10 @@ array_reshape(PyArrayObject *self, PyObject *args) } } - if (newshape.len == 1) return PyArray_Ravel(self, 0); + if (newshape.len == 1) { + PyDimMem_FREE(newshape.ptr); + return PyArray_Ravel(self, 0); + } if ((newshape.len == 0) || PyArray_ISCONTIGUOUS(self)) { ret = PyArray_Newshape(self, &newshape); @@ -135,6 +138,7 @@ array_reshape(PyArrayObject *self, PyObject *args) } PyDimMem_FREE(newshape.ptr); return _ARET(ret); + fail: PyDimMem_FREE(newshape.ptr); return NULL; |