diff --git a/Objects/odictobject.c b/Objects/odictobject.c index bdd37fae99c5c0..aee85eb72bcf06 100644 --- a/Objects/odictobject.c +++ b/Objects/odictobject.c @@ -1168,8 +1168,10 @@ OrderedDict_popitem_impl(PyODictObject *self, int last) node = last ? _odict_LAST(self) : _odict_FIRST(self); key = Py_NewRef(_odictnode_KEY(node)); value = _odict_popkey_hash((PyObject *)self, key, NULL, _odictnode_HASH(node)); - if (value == NULL) + if (value == NULL) { + Py_DECREF(key); return NULL; + } item = PyTuple_Pack(2, key, value); Py_DECREF(key); Py_DECREF(value);