bpo-33583: Add note in PyObject_GC_Resize() doc (GH-7021)
(cherry picked from commit 1179f4b40f
)
Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
This commit is contained in:
parent
316f86911a
commit
2b4ed5da1d
|
@ -49,7 +49,7 @@ Constructors for container types must conform to two rules:
|
||||||
.. c:function:: TYPE* PyObject_GC_Resize(TYPE, PyVarObject *op, Py_ssize_t newsize)
|
.. c:function:: TYPE* PyObject_GC_Resize(TYPE, PyVarObject *op, Py_ssize_t newsize)
|
||||||
|
|
||||||
Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the
|
Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the
|
||||||
resized object or *NULL* on failure.
|
resized object or *NULL* on failure. *op* must not be tracked by the collector yet.
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: void PyObject_GC_Track(PyObject *op)
|
.. c:function:: void PyObject_GC_Track(PyObject *op)
|
||||||
|
|
|
@ -1752,6 +1752,7 @@ _PyObject_GC_Resize(PyVarObject *op, Py_ssize_t nitems)
|
||||||
{
|
{
|
||||||
const size_t basicsize = _PyObject_VAR_SIZE(Py_TYPE(op), nitems);
|
const size_t basicsize = _PyObject_VAR_SIZE(Py_TYPE(op), nitems);
|
||||||
PyGC_Head *g = AS_GC(op);
|
PyGC_Head *g = AS_GC(op);
|
||||||
|
assert(!IS_TRACKED(op));
|
||||||
if (basicsize > PY_SSIZE_T_MAX - sizeof(PyGC_Head))
|
if (basicsize > PY_SSIZE_T_MAX - sizeof(PyGC_Head))
|
||||||
return (PyVarObject *)PyErr_NoMemory();
|
return (PyVarObject *)PyErr_NoMemory();
|
||||||
g = (PyGC_Head *)PyObject_REALLOC(g, sizeof(PyGC_Head) + basicsize);
|
g = (PyGC_Head *)PyObject_REALLOC(g, sizeof(PyGC_Head) + basicsize);
|
||||||
|
|
Loading…
Reference in New Issue