(original) (raw)
changeset: 89637:07968254be96 branch: 3.3 parent: 89626:43b06352221b user: Jesus Cea jcea@jcea.es date: Thu Mar 13 17:35:32 2014 +0100 files: PC/winreg.c description: Closes #20908: Memory leak in Reg2Py() diff -r 43b06352221b -r 07968254be96 PC/winreg.c --- a/PC/winreg.c Thu Mar 13 04:55:35 2014 -0400 +++ b/PC/winreg.c Thu Mar 13 17:35:32 2014 +0100 @@ -943,8 +943,10 @@ 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 @@ 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