fix possible refleaks

This commit is contained in:
Benjamin Peterson 2012-01-16 09:50:48 -05:00
parent 89f8b80202
commit 0fa35ea8f3

View file

@ -540,13 +540,15 @@ new_identifier(const char* n, PyArena *arena)
if (PyUnicode_IS_ASCII(id)) { if (PyUnicode_IS_ASCII(id)) {
PyObject *m = PyImport_ImportModuleNoBlock("unicodedata"); PyObject *m = PyImport_ImportModuleNoBlock("unicodedata");
PyObject *id2; PyObject *id2;
if (!m) if (!m) {
Py_DECREF(id);
return NULL; return NULL;
}
id2 = _PyObject_CallMethodId(m, &PyId_normalize, "sO", "NFKC", id); id2 = _PyObject_CallMethodId(m, &PyId_normalize, "sO", "NFKC", id);
Py_DECREF(m); Py_DECREF(m);
Py_DECREF(id);
if (!id2) if (!id2)
return NULL; return NULL;
Py_DECREF(id);
id = id2; id = id2;
} }
PyUnicode_InternInPlace(&id); PyUnicode_InternInPlace(&id);