mirror of
https://github.com/python/cpython.git
synced 2025-08-03 08:34:29 +00:00
Fix #3651 various memory leaks when using the buffer interface
by Amaury Forgeot d'Arc Reviewer: Antoine Pitrou
This commit is contained in:
parent
4b24a42f3c
commit
9edd2bd35c
5 changed files with 22 additions and 11 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue