[issue6697] Check that _PyUnicode_AsString() result is not NULL
report at bugs.python.org
Tue Dec 7 19:11:07 CET 2010
Marc-Andre Lemburg <mal at egenix.com> added the comment:
Alexander Belopolsky wrote:
> Alexander Belopolsky <belopolsky at users.sourceforge.net> added the comment:
> On Tue, Dec 7, 2010 at 12:44 PM, Marc-Andre Lemburg
> <report at bugs.python.org> wrote:
>> * Rather than just patching in error handling code, please consider
>> removing use of those APIs and replace their calls with something
>> more appropriate, e.g. using a parser API.
> Yes, that's what I started doing in the "a" patch. I am not sure what
> you mean by "a parser API."
PyArg_Parse() et al. See the discussion earlier on this ticket.
> There are several places where conversion
> is either unnecessary or an encoded string is already available. See
If the API is not needed at all, even better.
>> * When ignoring errors from the API, you have to clear the exception.
>> This is missing in a couple of places in the patch, e.g. in pyexpat.c
> Right. On the other hand, this is very similar to xmlparser_getattro
> in _elementtree.c and I think should be handled the same way.
Not sure what you mean here. If you ignore errors and don't clear
the exception, it will pop up at some later point in processing
and that's generally very confusing.
>> * Please also remove hacks like these:
>> +#define CMP PyUnicode_CompareWithASCIIString
>> + if (CMP(nameobj, "entity") == 0)
> What do you consider a hack? The use of
> PyUnicode_CompareWithASCIIString() or the shortening macro?
The shortening macro.
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list