Closes #20908: Memory leak in Reg2Py()

This commit is contained in:
Jesus Cea 2014-03-13 17:33:43 +01:00
parent 4c874ef4a5
commit 8f606a0d4f
1 changed files with 4 additions and 1 deletions

View File

@ -948,8 +948,10 @@ Reg2Py(char *retDataBuf, DWORD retDataSize, DWORD typ)
fixupMultiSZ(str, retDataBuf, retDataSize); fixupMultiSZ(str, retDataBuf, retDataSize);
obData = PyList_New(s); obData = PyList_New(s);
if (obData == NULL) if (obData == NULL) {
free(str);
return NULL; return NULL;
}
for (index = 0; index < s; index++) for (index = 0; index < s; index++)
{ {
size_t len = _mbstrlen(str[index]); size_t len = _mbstrlen(str[index]);
@ -957,6 +959,7 @@ Reg2Py(char *retDataBuf, DWORD retDataSize, DWORD typ)
PyErr_SetString(PyExc_OverflowError, PyErr_SetString(PyExc_OverflowError,
"registry string is too long for a Python string"); "registry string is too long for a Python string");
Py_DECREF(obData); Py_DECREF(obData);
free(str);
return NULL; return NULL;
} }
PyList_SetItem(obData, PyList_SetItem(obData,