Index: Python/ast.c =================================================================== --- Python/ast.c (Revision 47289) +++ Python/ast.c (Arbeitskopie) @@ -2142,6 +2142,10 @@ loop: switch (TYPE(n)) { case import_as_name: + if (NCH(n) == 3 && strcmp(STR(CHILD(n, 1)), "as") != 0) { + ast_error(n, "invalid syntax"); + return NULL; + } str = (NCH(n) == 3) ? NEW_IDENTIFIER(CHILD(n, 2)) : NULL; return alias(NEW_IDENTIFIER(CHILD(n, 0)), str, c->c_arena); case dotted_as_name: @@ -2150,6 +2154,10 @@ goto loop; } else { + if (strcmp(STR(CHILD(n, 1)), "as") != 0) { + ast_error(n, "invalid syntax"); + return NULL; + } alias_ty a = alias_for_import_name(c, CHILD(n, 0)); assert(!a->asname); a->asname = NEW_IDENTIFIER(CHILD(n, 2));