]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-122311: Fix a refleak in pickle (GH-122411)
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 29 Jul 2024 18:52:48 +0000 (21:52 +0300)
committerGitHub <noreply@github.com>
Mon, 29 Jul 2024 18:52:48 +0000 (21:52 +0300)
Modules/_pickle.c

index 452b4aff0237cadac8248d7cbeee47b8a31bac67..50c73dca0db281e8283e94d8be655c7cb0263512 100644 (file)
@@ -3123,6 +3123,7 @@ batch_dict(PickleState *state, PicklerObject *self, PyObject *iter)
             if (!PyTuple_Check(obj) || PyTuple_Size(obj) != 2) {
                 PyErr_SetString(PyExc_TypeError, "dict items "
                                 "iterator must return 2-tuples");
+                Py_DECREF(obj);
                 return -1;
             }
             i = save(state, self, PyTuple_GET_ITEM(obj, 0), 0);