]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-121137: Add missing Py_DECREF calls for ADDITEMS opcode of _pickle.c (GH...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 28 Jun 2024 23:17:51 +0000 (01:17 +0200)
committerGitHub <noreply@github.com>
Fri, 28 Jun 2024 23:17:51 +0000 (16:17 -0700)
gh-121137: Add missing Py_DECREF calls for ADDITEMS opcode of _pickle.c (GH-121136)

PyObject_GetAttr returns a new reference, but this reference is never decremented using Py_DECREF, so Py_DECREF calls to this referece are added
(cherry picked from commit 92893fd8dc803ed7cdde55d29d25f84ccb5e3ef0)

Co-authored-by: Justin Applegate <70449145+Legoclones@users.noreply.github.com>
Modules/_pickle.c

index 2bf9977f0b7795b5a5a10c13ca4077364ef75c52..52e9e6b4b66104c173e5af520de55a10aca92dc8 100644 (file)
@@ -6623,11 +6623,13 @@ load_additems(PickleState *state, UnpicklerObject *self)
             if (result == NULL) {
                 Pdata_clear(self->stack, i + 1);
                 Py_SET_SIZE(self->stack, mark);
+                Py_DECREF(add_func);
                 return -1;
             }
             Py_DECREF(result);
         }
         Py_SET_SIZE(self->stack, mark);
+        Py_DECREF(add_func);
     }
 
     return 0;