[Python-Dev] Overwriting objects before deallocating them

Guido van Rossum guido@python.org
Fri, 24 May 2002 11:07:05 -0400


> In the cryptography toolkit, the deallocators in the C extensions all
> overwrite the object's contents before deallocating it.  Is this dodgy
> practice?  Is it likely or possible that some day PyObject_Del will
> need to look at the contents of a non-GC-supporting object before
> freeing it?  (Encryption or hashing objects are not containers, and
> it's highly unlikely they ever will be, so they'll never need to
> support GC traversal.)

You're safe.  PyObject_Del cannot make any assumptions about the
contents of the structure -- not even the type pointer or the
reference count.  Of course you should stay out of the GC header.

--Guido van Rossum (home page: http://www.python.org/~guido/)