[issue14231] Fix or drop Lib/test/crashers/borrowed_ref_1.py

Armin Rigo report at bugs.python.org
Fri Mar 9 17:07:38 CET 2012


Armin Rigo <arigo at users.sourceforge.net> added the comment:

I will attempt a last time to mention that the docstrings in borrowed_ref_*.py used to say they were *examples*.

That means: (1) find any internal or external C function that returns a borrowed reference; (2) find all callers and write down all the places that don't immediately either Py_INCREF() the returned value or immediately forget about it; (3) for each such place, either come up painfully with a complicated explanation of why it's safe in all possible cases, or in doubt, just fix it by adding Py_INCREF()/Py_DECREF().

What I did in writing these two borrowed_ref_*.py was to do instead (3') spend a few hours figuring out how to exploit the issue until we get a segfault.  I did it for two examples, but what I'm definitely not going to do is spend N times a few hours for a large number N.  If python-dev people just fix the two examples, remove the crashers, and just forget about the issue, then well, the point is missed, but I'm not going to fight it.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14231>
_______________________________________


More information about the Python-bugs-list mailing list