From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:19:18 +0000 (+0100) Subject: [3.12] gh-126991: Fix reference leak in loading pickle's opcode BUILD (GH-126990... X-Git-Tag: v3.12.8~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=153221a1d050a74f1cfbb7af69232cb92bf505ba;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-126991: Fix reference leak in loading pickle's opcode BUILD (GH-126990) (GH-127019) If PyObject_SetItem() fails in the `load_build()` function of _pickle.c, no DECREF for the `dict` variable. (cherry picked from commit 29cbcbd73bbfd8c953c0b213fb33682c289934ff) Co-authored-by: Justin Applegate <70449145+Legoclones@users.noreply.github.com> --- diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 179500d6956a..b8f701c2af2e 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -6726,6 +6726,7 @@ load_build(PickleState *st, UnpicklerObject *self) } if (PyObject_SetItem(dict, d_key, d_value) < 0) { Py_DECREF(d_key); + Py_DECREF(dict); goto error; } Py_DECREF(d_key);