[Python-Dev] checkin r43015 (original) (raw)

Hye-Shik Chang hyeshik at gmail.com
Tue Mar 14 04:20:15 CET 2006


On 3/14/06, Jeff Epler <jepler at unpythonic.net> wrote:

After the recent discussion about Coverity, I took a look at one of the checkins made, apparently based on output from their tool.

http://svn.python.org/view/python/branches/release24-maint/Objects/object.c?&r1=43015&r2=43014&rev=43015&view=diff&diffformat=l This change, a backport of a similar change made to HEAD, doesn't seem to fix the flaw: the PyUnicodeCheckExact() call is now guarded against a NULL return, but the subsequent PyUnicodeCheck() and PyStringCheck() calls don't seem to be.

Agreed. That change doesn't fix the real problem. I bet it'll still segfault for PyObject_Unicode(NULL).

In fact, I and Neal talked about the problem and have a correct patch. But the patch looks bit messy so we hated it. :-) http://python.org/sf/1444030

I'm not 100% sure what's going on here, but it still looks a bit fishy. The API reference says that PyObjectAsUnicode may return NULL, so why doesn't the function just call PyErrBadInternalCall() and return NULL?

For the consistency with PyObject_String(NULL) which returns a string "".

Hye-Shik



More information about the Python-Dev mailing list