Marc-Andre Lemburg <m...@egenix.com> added the comment: Alexander Belopolsky wrote: > > Alexander Belopolsky <belopol...@users.sourceforge.net> added the comment: > > I am attaching a revised version of the patch which also includes some tests. > Interestingly, the issue in syslog module is a regression from 3.1 > introduced in r80401. Although it is not a crasher, I don't think it was > intentional because although openlog() is happy to accept NULL for indent, > the error from _PyUnicode_AsString() would have to be cleared if the intent > was to ignore undecodable indent.
Some notes: * 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. * 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 * Please also remove hacks like these: +#define CMP PyUnicode_CompareWithASCIIString + if (CMP(nameobj, "entity") == 0) + res = self->entity; + else if (CMP(nameobj, "target") == 0) + res = self->target; + else if (CMP(nameobj, "version") == 0) { + return PyUnicode_FromFormat( + "Expat %d.%d.%d", XML_MAJOR_VERSION, XML_MINOR_VERSION, XML_MICRO_VERSION); ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6697> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com