From 44f65c0e2f5ce27ce90bbec218ecb39cba9d75a2 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 25 Mar 2015 23:06:48 +0000 Subject: py: Fix bug in compiler which allowed through illegal augmented assign. It allowed such things as (a, b) += c. --- py/compile.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'py/compile.c') diff --git a/py/compile.c b/py/compile.c index f64a9e2f62..554d74b30c 100644 --- a/py/compile.c +++ b/py/compile.c @@ -858,6 +858,9 @@ STATIC void c_assign(compiler_t *comp, mp_parse_node_t pn, assign_kind_t assign_ // empty tuple goto cannot_assign; } else if (MP_PARSE_NODE_IS_STRUCT_KIND(pns->nodes[0], PN_testlist_comp)) { + if (assign_kind != ASSIGN_STORE) { + goto bad_aug; + } pns = (mp_parse_node_struct_t*)pns->nodes[0]; goto testlist_comp; } else { -- cgit v1.2.3