Fix #3651 various memory leaks when using the buffer interface

by Amaury Forgeot d'Arc
Reviewer: Antoine Pitrou
This commit is contained in:
Benjamin Peterson 2008-08-27 00:31:37 +00:00
parent 4b24a42f3c
commit 9edd2bd35c
5 changed files with 22 additions and 11 deletions

View file

@ -260,6 +260,7 @@ PyObject_AsCharBuffer(PyObject *obj,
*buffer_len = view.len;
if (pb->bf_releasebuffer != NULL)
(*pb->bf_releasebuffer)(obj, &view);
Py_XDECREF(view.obj);
return 0;
}
@ -305,6 +306,7 @@ int PyObject_AsReadBuffer(PyObject *obj,
*buffer_len = view.len;
if (pb->bf_releasebuffer != NULL)
(*pb->bf_releasebuffer)(obj, &view);
Py_XDECREF(view.obj);
return 0;
}
@ -332,6 +334,7 @@ int PyObject_AsWriteBuffer(PyObject *obj,
*buffer_len = view.len;
if (pb->bf_releasebuffer != NULL)
(*pb->bf_releasebuffer)(obj, &view);
Py_XDECREF(view.obj);
return 0;
}