mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
Fix memory leak: Always DECREF obj in PyBuffer_Release.
This commit is contained in:
parent
6d2014ee59
commit
64034f994c
1 changed files with 3 additions and 5 deletions
|
@ -708,11 +708,9 @@ void
|
||||||
PyBuffer_Release(Py_buffer *view)
|
PyBuffer_Release(Py_buffer *view)
|
||||||
{
|
{
|
||||||
PyObject *obj = view->obj;
|
PyObject *obj = view->obj;
|
||||||
if (!obj || !Py_TYPE(obj)->tp_as_buffer || !Py_TYPE(obj)->tp_as_buffer->bf_releasebuffer)
|
if (obj && Py_TYPE(obj)->tp_as_buffer && Py_TYPE(obj)->tp_as_buffer->bf_releasebuffer)
|
||||||
/* Unmanaged buffer */
|
Py_TYPE(obj)->tp_as_buffer->bf_releasebuffer(obj, view);
|
||||||
return;
|
Py_XDECREF(obj);
|
||||||
Py_TYPE(obj)->tp_as_buffer->bf_releasebuffer(obj, view);
|
|
||||||
Py_DECREF(obj);
|
|
||||||
view->obj = NULL;
|
view->obj = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue