From: Jesus Cea Date: Thu, 13 Mar 2014 16:35:32 +0000 (+0100) Subject: Closes #20908: Memory leak in Reg2Py() X-Git-Tag: v3.4.1rc1~233^2~32^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=782c4cf1553e46fdfbabc4bf627721a5df32ca55;p=thirdparty%2FPython%2Fcpython.git Closes #20908: Memory leak in Reg2Py() --- diff --git a/PC/winreg.c b/PC/winreg.c index 3b9693cc6a76..3347eb7c4a0c 100644 --- a/PC/winreg.c +++ b/PC/winreg.c @@ -943,8 +943,10 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) fixupMultiSZ(str, data, len); obData = PyList_New(s); - if (obData == NULL) + if (obData == NULL) { + free(str); return NULL; + } for (index = 0; index < s; index++) { size_t len = wcslen(str[index]); @@ -952,6 +954,7 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) PyErr_SetString(PyExc_OverflowError, "registry string is too long for a Python string"); Py_DECREF(obData); + free(str); return NULL; } PyList_SetItem(obData,