diff --git a/Python/compile.c b/Python/compile.c index d79e4b44c2c02c..ab2e532e43e8d1 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -853,12 +853,15 @@ compiler_mod(compiler *c, mod_ty mod) { PyCodeObject *co = NULL; int addNone = mod->kind != Expression_kind; + assert(c->u == NULL); if (compiler_codegen(c, mod) < 0) { goto finally; } co = _PyCompile_OptimizeAndAssemble(c, addNone); finally: - _PyCompile_ExitScope(c); + if (c->u != NULL) { + _PyCompile_ExitScope(c); + } return co; }