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

Co-authored-by: Eclips4 <80244920+Eclips4@users.noreply.github.com>
Co-authored-by: Shantanu <12621235+hauntsaninja@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 01ac2618df0d9da87668af014f3a2c1235015203..96d215aba80058c2fe2d03c29d4d746d4e28abef 100644 (file)
@@ -6006,7 +6006,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_localsplusnames, k);