Fix memory leak in pyexpat PyUnknownEncodingHandler

CID 1040367 (#1 of 1): Resource leak (RESOURCE_LEAK)
leaked_storage: Variable u going out of scope leaks the storage it points to.
This commit is contained in:
Christian Heimes 2013-06-29 20:43:13 +02:00
parent 305e49e17e
commit b582155789
1 changed files with 3 additions and 1 deletions

View File

@ -1128,8 +1128,10 @@ PyUnknownEncodingHandler(void *encodingHandlerData,
} }
u = PyUnicode_Decode((char*) template_buffer, 256, name, "replace"); u = PyUnicode_Decode((char*) template_buffer, 256, name, "replace");
if (u == NULL || PyUnicode_READY(u)) if (u == NULL || PyUnicode_READY(u)) {
Py_DECREF(u);
return XML_STATUS_ERROR; return XML_STATUS_ERROR;
}
if (PyUnicode_GET_LENGTH(u) != 256) { if (PyUnicode_GET_LENGTH(u) != 256) {
Py_DECREF(u); Py_DECREF(u);