]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-101967: add a missing error check (GH-101968)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 18 Feb 2023 01:13:33 +0000 (17:13 -0800)
committerGitHub <noreply@github.com>
Sat, 18 Feb 2023 01:13:33 +0000 (17:13 -0800)
(cherry picked from commit 89413bbccb9261b72190e275eefe4b0d49671477)

Co-authored-by: Eclips4 <80244920+Eclips4@users.noreply.github.com>
Misc/NEWS.d/next/Core and Builtins/2023-02-16-23-19-01.gh-issue-101967.Kqr1dz.rst [new file with mode: 0644]
Python/ceval.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-02-16-23-19-01.gh-issue-101967.Kqr1dz.rst b/Misc/NEWS.d/next/Core and Builtins/2023-02-16-23-19-01.gh-issue-101967.Kqr1dz.rst
new file mode 100644 (file)
index 0000000..6e681f9
--- /dev/null
@@ -0,0 +1 @@
+Fix possible segfault in ``positional_only_passed_as_keyword`` function, when new list created.
index 9719177e19bab8297ac964332c0c055d30397d6c..9f4ef6be0e1f2a5e8ce44575916797e61c573ded 100644 (file)
@@ -4718,7 +4718,9 @@ positional_only_passed_as_keyword(PyThreadState *tstate, PyCodeObject *co,
 {
     int posonly_conflicts = 0;
     PyObject* posonly_names = PyList_New(0);
-
+    if (posonly_names == NULL) {
+        goto fail;
+    }
     for(int k=0; k < co->co_posonlyargcount; k++){
         PyObject* posonly_name = PyTuple_GET_ITEM(co->co_varnames, k);