Skip to content

PyObject_GC_Resize doesn't check preheader size #101408

Closed
@colesbury

Description

@colesbury

The PyObject_GC_Resize implementation in the main branch doesn't check if the object has a preheader:

cpython/Modules/gcmodule.c

Lines 2357 to 2358 in 0ef92d9

PyGC_Head *g = AS_GC(op);
g = (PyGC_Head *)PyObject_Realloc(g, sizeof(PyGC_Head) + basicsize);

The only internal use I see is by _PyTuple_Resize which doesn't have a preheader, but the PyObject_GC_Resize function is publicly documented.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.12bugs and security fixestopic-C-APItype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions