[Python-Dev] checkin r43015 (original) (raw)
Hye-Shik Chang hyeshik at gmail.com
Tue Mar 14 04:20:15 CET 2006
- Previous message: [Python-Dev] checkin r43015
- Next message: [Python-Dev] checkin r43015
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [Python-Dev] checkin r43015
- Next message: [Python-Dev] checkin r43015
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]