warnings.warn_explicit() did not have the proper TypeErrors in place to prevent

bus errors or SystemError being raised. As a side effect of fixing this, a bad
DECREF that could be triggered when 'message' and 'category' were both None was
fixed.

Closes issue 3211. Thanks JP Calderone for the bug report.
This commit is contained in:
Brett Cannon 2008-06-27 00:31:13 +00:00
parent 80821f7cf4
commit dea1b5653f
4 changed files with 34 additions and 5 deletions

View file

@ -202,6 +202,7 @@ def warn(message, category=None, stacklevel=1):
def warn_explicit(message, category, filename, lineno,
module=None, registry=None, module_globals=None):
lineno = int(lineno)
if module is None:
module = filename or "<unknown>"
if module[-3:].lower() == ".py":