Andreas Stührk <andy-pyt...@hammerhartes.de> added the comment:

There are some issues with the patch:

- The check for size of `args` in `ImportError_init()` is wrong: You can't 
create an `ImportError` with 3 arguments now ("TypeError: ImportError expected 
2 arguments, got 3")
- `ImportError_clear()` doesn't clear ``self->msg``.
- `ImportError_str()` doesn't increase the reference count for ``self->msg`` 
before returning it.
- The code that raises the exception (Python/import.c) doesn't check for error 
return values: All the calls can return NULL which will cause a segfault due to 
the uncoditional Py_DECREFs.
- Using `PyUnicode_DecodeASCII()` for the module name is wrong (IMHO), it 
should rather be something like `PyUnicode_DecodeUTF8()` as module names can 
contain non-ASCII characters in Python 3 and are AFAIK (at least right now) 
always encoded using utf-8.

----------
nosy: +Trundle, haypo

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue1559549>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to