From: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:41:53 +0000 (+0100) Subject: gh-120834: fix over-allocation in PyGenObject, PyCoroObject, PyAsyncGenObject. (... X-Git-Tag: v3.14.0a1~1344 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ac08f36fe9016a8109edf9e167b06627fb13b5a;p=thirdparty%2FPython%2Fcpython.git gh-120834: fix over-allocation in PyGenObject, PyCoroObject, PyAsyncGenObject. (#120941) --- diff --git a/Objects/genobject.c b/Objects/genobject.c index 445622e878bc..9a3194d3de26 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 */