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]