[Python-Dev] Prevalence of low-level memory abuse?
tim.peters at gmail.com
Mon Mar 27 01:58:02 CEST 2006
> Could the debug build's macros for PyMem/PyObject_new/free be modified
> to check for mismatches? Or would storing information about which
> method was used to allocate each pointer be too expensive? Perhaps a
> special build could be used to check for mismatches?
It's partly possible (e.g., it's impossible to know whether a blob of
memory was obtained by calling malloc() directly).
If someone wants to do it (I do not), the debug build adds 8 bytes to
each side of each memory block obtained via each PyMem and PyObject
malloc/realloc call, and one of the (current) 8 FORBIDDEN_BYTEs could
be used to store flags without significant loss of functionality. It
would make a decent enhancement.
More information about the Python-Dev