From b5821557899dc5bd0eca1f7430211730b6781e0f Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sat, 29 Jun 2013 20:43:13 +0200 Subject: [PATCH] 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. --- Modules/pyexpat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index 01ac14ee6cd..303934709a3 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -1128,8 +1128,10 @@ PyUnknownEncodingHandler(void *encodingHandlerData, } 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; + } if (PyUnicode_GET_LENGTH(u) != 256) { Py_DECREF(u);