From efb0c36e12b9ac57a0ea1976db5e2edb1a50d5d3 Mon Sep 17 00:00:00 2001 From: Charles Machalow Date: Sat, 13 May 2023 11:14:02 -0700 Subject: [PATCH 1/2] Fix ref leak --- Objects/exceptions.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 59c63f4aa44958..798c70b7d2e55c 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -2324,7 +2324,9 @@ AttributeError_reduce(PyAttributeErrorObject *self, PyObject *Py_UNUSED(ignored) return NULL; } - return PyTuple_Pack(3, Py_TYPE(self), self->args, state); + PyObject* return_value = PyTuple_Pack(3, Py_TYPE(self), self->args, state); + Py_DECREF(state); + return return_value; } static PyMemberDef AttributeError_members[] = { From 6e4e454643b97a306b5062e67a2d769a028150bd Mon Sep 17 00:00:00 2001 From: Charles Machalow Date: Sat, 13 May 2023 11:26:53 -0700 Subject: [PATCH 2/2] Update Objects/exceptions.c Co-authored-by: Kirill Podoprigora --- Objects/exceptions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 798c70b7d2e55c..a8d4e3a696ce8e 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -2324,7 +2324,7 @@ AttributeError_reduce(PyAttributeErrorObject *self, PyObject *Py_UNUSED(ignored) return NULL; } - PyObject* return_value = PyTuple_Pack(3, Py_TYPE(self), self->args, state); + PyObject *return_value = PyTuple_Pack(3, Py_TYPE(self), self->args, state); Py_DECREF(state); return return_value; }