]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-153205: Set `MemoryError` in stackref array conversion (GH-153206) (#153273)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 7 Jul 2026 16:32:27 +0000 (18:32 +0200)
committerGitHub <noreply@github.com>
Tue, 7 Jul 2026 16:32:27 +0000 (16:32 +0000)
gh-153205: Set `MemoryError` in stackref array conversion (GH-153206)
(cherry picked from commit 08759ff1015552d58c1f6ffa13ea08b0ae32e6c0)

Co-authored-by: An Long <aisk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: sobolevn <mail@sobolevn.me>
Misc/NEWS.d/next/Core_and_Builtins/2026-07-07-04-16-48.gh-issue-153205.5fE8QZ.rst [new file with mode: 0644]
Python/ceval.c

diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-07-07-04-16-48.gh-issue-153205.5fE8QZ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-07-07-04-16-48.gh-issue-153205.5fE8QZ.rst
new file mode 100644 (file)
index 0000000..9ccfbff
--- /dev/null
@@ -0,0 +1,2 @@
+Fix a potential :exc:`SystemError` during vector calls when memory allocation fails.
+A :exc:`MemoryError` is now raised instead.
index b4fded923c10d3fcde1d00211418f1d4a424180b..b3dab2e9da5a7165c120886d05a71fa933ff97f4 100644 (file)
@@ -1083,6 +1083,7 @@ _PyObjectArray_FromStackRefArray(_PyStackRef *input, Py_ssize_t nargs, PyObject
         // +1 in case PY_VECTORCALL_ARGUMENTS_OFFSET is set.
         result = PyMem_Malloc((nargs + 1) * sizeof(PyObject *));
         if (result == NULL) {
+            PyErr_NoMemory();
             return NULL;
         }
         result++;