Commit 782c4cf1 authored by Jesus Cea's avatar Jesus Cea

Closes #20908: Memory leak in Reg2Py()

parent 45fc8713
...@@ -943,8 +943,10 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) ...@@ -943,8 +943,10 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ)
fixupMultiSZ(str, data, len); fixupMultiSZ(str, data, len);
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 = wcslen(str[index]); size_t len = wcslen(str[index]);
...@@ -952,6 +954,7 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) ...@@ -952,6 +954,7 @@ Reg2Py(BYTE *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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment