https://github.com/python/cpython/commit/8ac08f36fe9016a8109edf9e167b06627fb13b5a
commit: 8ac08f36fe9016a8109edf9e167b06627fb13b5a
branch: main
author: Irit Katriel <[email protected]>
committer: iritkatriel <[email protected]>
date: 2024-06-24T18:41:53+01:00
summary:
gh-120834: fix over-allocation in PyGenObject, PyCoroObject, PyAsyncGenObject.
(#120941)
files:
M Objects/genobject.c
diff --git a/Objects/genobject.c b/Objects/genobject.c
index 445622e878bc93..9a3194d3de2614 100644
--- a/Objects/genobject.c
+++ b/Objects/genobject.c
@@ -813,7 +813,7 @@ static PyAsyncMethods gen_as_async = {
PyTypeObject PyGen_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"generator", /* tp_name */
- sizeof(PyGenObject), /* tp_basicsize */
+ offsetof(PyGenObject, gi_iframe.localsplus), /* tp_basicsize */
sizeof(PyObject *), /* tp_itemsize */
/* methods */
(destructor)gen_dealloc, /* tp_dealloc */
@@ -1164,7 +1164,7 @@ static PyAsyncMethods coro_as_async = {
PyTypeObject PyCoro_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"coroutine", /* tp_name */
- sizeof(PyCoroObject), /* tp_basicsize */
+ offsetof(PyCoroObject, cr_iframe.localsplus),/* tp_basicsize */
sizeof(PyObject *), /* tp_itemsize */
/* methods */
(destructor)gen_dealloc, /* tp_dealloc */
@@ -1579,7 +1579,7 @@ static PyAsyncMethods async_gen_as_async = {
PyTypeObject PyAsyncGen_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"async_generator", /* tp_name */
- sizeof(PyAsyncGenObject), /* tp_basicsize */
+ offsetof(PyAsyncGenObject, ag_iframe.localsplus), /* tp_basicsize */
sizeof(PyObject *), /* tp_itemsize */
/* methods */
(destructor)gen_dealloc, /* tp_dealloc */
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]