From: Jesus Cea Date: Thu, 13 Mar 2014 16:33:43 +0000 (+0100) Subject: Closes #20908: Memory leak in Reg2Py() X-Git-Tag: v2.7.7rc1~129 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8f606a0d4ffc728e14d9d9e0c5a10d4305b77fd6;p=python Closes #20908: Memory leak in Reg2Py() --- diff --git a/PC/_winreg.c b/PC/_winreg.c index d60b151192..472e84e24d 100644 --- a/PC/_winreg.c +++ b/PC/_winreg.c @@ -948,8 +948,10 @@ Reg2Py(char *retDataBuf, DWORD retDataSize, DWORD typ) fixupMultiSZ(str, retDataBuf, retDataSize); obData = PyList_New(s); - if (obData == NULL) + if (obData == NULL) { + free(str); return NULL; + } for (index = 0; index < s; index++) { size_t len = _mbstrlen(str[index]); @@ -957,6 +959,7 @@ Reg2Py(char *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,