don't let a tuple msg be interpreted as arguments to AssertionError (closes #13268)

This commit is contained in:
Benjamin Peterson 2011-10-27 08:21:59 -04:00
parent 78fc70503e
commit 0c0d756098
2 changed files with 4 additions and 4 deletions

View File

@ -9,6 +9,8 @@ What's New in Python 2.7.3?
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #13268: Fix the assert statement when a tuple is passed as the message.
- Issue #13018: Fix reference leaks in error paths in dictobject.c. - Issue #13018: Fix reference leaks in error paths in dictobject.c.
Patch by Suman Saha. Patch by Suman Saha.

View File

@ -2079,11 +2079,9 @@ compiler_assert(struct compiler *c, stmt_ty s)
ADDOP_O(c, LOAD_GLOBAL, assertion_error, names); ADDOP_O(c, LOAD_GLOBAL, assertion_error, names);
if (s->v.Assert.msg) { if (s->v.Assert.msg) {
VISIT(c, expr, s->v.Assert.msg); VISIT(c, expr, s->v.Assert.msg);
ADDOP_I(c, RAISE_VARARGS, 2); ADDOP_I(c, CALL_FUNCTION, 1);
}
else {
ADDOP_I(c, RAISE_VARARGS, 1);
} }
ADDOP_I(c, RAISE_VARARGS, 1);
compiler_use_next_block(c, end); compiler_use_next_block(c, end);
return 1; return 1;
} }