mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-27 10:26:19 +03:00
Release buffer if function returns prematurely
This commit is contained in:
parent
4b626ea14a
commit
e7ce609889
|
@ -355,17 +355,21 @@ PyImaging_MapBuffer(PyObject* self, PyObject* args)
|
|||
|
||||
if (view.len < 0) {
|
||||
PyErr_SetString(PyExc_ValueError, "buffer has negative size");
|
||||
PyBuffer_Release(&view);
|
||||
return NULL;
|
||||
}
|
||||
if (offset + size > view.len) {
|
||||
PyErr_SetString(PyExc_ValueError, "buffer is not large enough");
|
||||
PyBuffer_Release(&view);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
im = ImagingNewPrologueSubtype(
|
||||
mode, xsize, ysize, sizeof(ImagingBufferInstance));
|
||||
if (!im)
|
||||
if (!im) {
|
||||
PyBuffer_Release(&view);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* setup file pointers */
|
||||
if (ystep > 0)
|
||||
|
|
Loading…
Reference in New Issue
Block a user