Armin Rigo <ar...@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 <rep...@bugs.python.org>
<http://bugs.python.org/issue14231>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to