https://github.com/python/cpython/commit/580499177ca91477b53b4a40afcec7d3370265b0
commit: 580499177ca91477b53b4a40afcec7d3370265b0
branch: main
author: Stan Ulbrych <[email protected]>
committer: iritkatriel <[email protected]>
date: 2026-06-09T20:45:54+01:00
summary:

gh-151112: Fix double free in `assemble_init` when out of memory (#151142)

files:
A 
Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-12-24-35.gh-issue-151112.4RKCkD.rst
M Python/assemble.c

diff --git 
a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-12-24-35.gh-issue-151112.4RKCkD.rst
 
b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-12-24-35.gh-issue-151112.4RKCkD.rst
new file mode 100644
index 00000000000000..93ee5c8cf1914b
--- /dev/null
+++ 
b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-09-12-24-35.gh-issue-151112.4RKCkD.rst
@@ -0,0 +1 @@
+Fix a crash in the compiler that could occur when running out of memory.
diff --git a/Python/assemble.c b/Python/assemble.c
index 3df959c3634195..8bcb4c7bf3a9aa 100644
--- a/Python/assemble.c
+++ b/Python/assemble.c
@@ -80,9 +80,9 @@ assemble_init(struct assembler *a, int firstlineno)
     }
     return SUCCESS;
 error:
-    Py_XDECREF(a->a_bytecode);
-    Py_XDECREF(a->a_linetable);
-    Py_XDECREF(a->a_except_table);
+    Py_CLEAR(a->a_bytecode);
+    Py_CLEAR(a->a_linetable);
+    Py_CLEAR(a->a_except_table);
     return ERROR;
 }
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to