]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] gh-151112: Fix crash in `compiler_mod()` when entering the current compilation...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 11 Jun 2026 15:22:31 +0000 (17:22 +0200)
committerGitHub <noreply@github.com>
Thu, 11 Jun 2026 15:22:31 +0000 (15:22 +0000)
(cherry picked from commit 937d89c4d9b7c5fda6730a1127db118d881d13cb)

Co-authored-by: Stan Ulbrych <stan@python.org>
Python/compile.c

index eb9fc827bea40a8000b2a6f6a1ae206a81c8439f..e223ef42a42e22b6bce39be3ad90f5bc0be6e93e 100644 (file)
@@ -893,12 +893,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;
 }