From c9d281f36b1fff889db059448a1e14d13849145f Mon Sep 17 00:00:00 2001 From: MinyazevR <89993880+MinyazevR@users.noreply.github.com> Date: Tue, 27 Aug 2024 19:19:06 +0300 Subject: [PATCH] Fix memory leak with PyDict_Copy --- src/PythonQtInstanceWrapper.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/PythonQtInstanceWrapper.cpp b/src/PythonQtInstanceWrapper.cpp index 60dd65f7d..c560810ab 100644 --- a/src/PythonQtInstanceWrapper.cpp +++ b/src/PythonQtInstanceWrapper.cpp @@ -383,8 +383,9 @@ static PyObject *PythonQtInstanceWrapper_getattro(PyObject *obj,PyObject *name) } if (qstrcmp(attributeName, "__dict__")==0) { - PyObject* dict = PyBaseObject_Type.tp_getattro(obj, name); - dict = PyDict_Copy(dict); + PyObject* objectDict = PyBaseObject_Type.tp_getattro(obj, name); + PyObject* dict = PyDict_Copy(objectDict); + Py_DECREF(objectDict); if (wrapper->_obj) { // we need to replace the properties with their real values...