[Python-Dev] Py_CLEAR to avoid crashes

Neil Schemenauer nas at arctrix.com
Tue Feb 19 00:59:26 CET 2008


I wrote:
> Most Py_DECREF calls are probably okay but it's going to be hard
> to find the ones that are not.

I suppose Py_DECREF is not the only source of trouble.  Many calls
to the Python API can end up calling arbitrary user code (via
__getattr__, __getitem__, etc.).  Whenever an object does that, it
must be prepared to be accessed from user code.  I'm guessing there
are many subtle bugs of this nature lurking.  Py_DECREF is perhaps
the most common though.  Maybe renaming it to
Py_DECREF_AND_RUN_EVIL_USER_CODE would help. ;-)

  Neil



More information about the Python-Dev mailing list