From: Jeremy Hylton Date: Mon, 19 Feb 2001 15:33:10 +0000 (+0000) Subject: Tolerate ill-formed trees in symtable_assign(). Fixes SF bug 132510. X-Git-Tag: v2.1b1~291 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=17820c4f1b4726b04360f22d515b44b3a755a55d;p=thirdparty%2FPython%2Fcpython.git Tolerate ill-formed trees in symtable_assign(). Fixes SF bug 132510. --- diff --git a/Python/compile.c b/Python/compile.c index 7b1740433dd8..2f98067ac899 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -4810,11 +4810,14 @@ symtable_assign(struct symtable *st, node *n, int flag) default: if (NCH(n) == 0) return; - if (NCH(n) != 1) { - DUMP(n); - Py_FatalError("too many children in default case\n"); + if (NCH(n) == 1) { + n = CHILD(n, 0); + goto loop; } - n = CHILD(n, 0); - goto loop; + /* Should only occur for errors like x + 1 = 1, + which will be caught in the next pass. */ + for (i = 0; i < NCH(n); ++i) + if (TYPE(CHILD(n, i)) >= single_input) + symtable_assign(st, CHILD(n, i), flag); } }