]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] GH-140058: Clear key and value if `PyTuple_New` fails in `dictiter_iternextite...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 14 Oct 2025 13:40:30 +0000 (15:40 +0200)
committerGitHub <noreply@github.com>
Tue, 14 Oct 2025 13:40:30 +0000 (19:10 +0530)
GH-140058: Clear key and value if `PyTuple_New` fails in `dictiter_iternextitem` (GH-140059)
(cherry picked from commit ded59f7e8e93274488584574ff2336a98bc4eff6)

Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
Objects/dictobject.c

index d669f8421c479219ebf5668726e2bfcddf45b7c0..80a44a87be4c4f2ce21e27ba46dd999e27aa35e7 100644 (file)
@@ -5670,8 +5670,11 @@ dictiter_iternextitem(PyObject *self)
         }
         else {
             result = PyTuple_New(2);
-            if (result == NULL)
+            if (result == NULL) {
+                Py_DECREF(key);
+                Py_DECREF(value);
                 return NULL;
+            }
             PyTuple_SET_ITEM(result, 0, key);
             PyTuple_SET_ITEM(result, 1, value);
         }