• Victor Stinner's avatar
    bpo-9263: _PyObject_Dump() detects freed memory (GH-10061) (GH-10662) (GH-10663) · c9b3fc6b
    Victor Stinner yazdı
    * bpo-9263: _PyObject_Dump() detects freed memory (GH-10061)
    
    _PyObject_Dump() now uses an heuristic to check if the object memory
    has been freed: log "<freed object>" in that case.
    
    The heuristic rely on the debug hooks on Python memory allocators
    which fills the memory with DEADBYTE (0xDB) when memory is
    deallocated. Use PYTHONMALLOC=debug to always enable these debug
    hooks.
    
    (cherry picked from commit 82af0b63)
    
    * bpo-9263: Fix _PyObject_Dump() for freed object (#10661)
    
    If _PyObject_Dump() detects that the object is freed, don't try to
    dump it (exit immediately).
    
    Enhance also _PyObject_IsFreed(): it now detects if the pointer
    itself looks like freed memory.
    
    (cherry picked from commit 2cf5d32f)
    (cherry picked from commit 95036ea2)
    c9b3fc6b
obmalloc.c 80.2 KB