(original) (raw)

changeset: 89636:b44a3f6676b8 branch: 2.7 parent: 89620:1763e27a182d user: Jesus Cea jcea@jcea.es date: Thu Mar 13 17:33:43 2014 +0100 files: PC/_winreg.c description: Closes #20908: Memory leak in Reg2Py() diff -r 1763e27a182d -r b44a3f6676b8 PC/_winreg.c --- a/PC/_winreg.c Wed Mar 12 21:51:52 2014 -0500 +++ b/PC/_winreg.c Thu Mar 13 17:33:43 2014 +0100 @@ -948,8 +948,10 @@ 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 @@ PyErr_SetString(PyExc_OverflowError, "registry string is too long for a Python string"); Py_DECREF(obData); + free(str); return NULL; } PyList_SetItem(obData, /jcea@jcea.es