Mercurial > cpython-lru_cache-weakref
diff Objects/unicodeobject.c @ 74101:40a211eb4fda 3.2
fix possible if unlikely leak
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Tue, 20 Dec 2011 13:29:45 -0600 |
| parents | f29d7d597fae |
| children | 050c07b31192 ac29dc61873c |
line wrap: on
line diff
--- a/Objects/unicodeobject.c Tue Dec 20 10:12:41 2011 -0600 +++ b/Objects/unicodeobject.c Tue Dec 20 13:29:45 2011 -0600 @@ -8888,9 +8888,13 @@ /* create entries for translating chars in x to those in y */ for (i = 0; i < PyUnicode_GET_SIZE(x); i++) { key = PyLong_FromLong(PyUnicode_AS_UNICODE(x)[i]); + if (!key) + goto err; value = PyLong_FromLong(PyUnicode_AS_UNICODE(y)[i]); - if (!key || !value) + if (!value) { + Py_DECREF(key); goto err; + } res = PyDict_SetItem(new, key, value); Py_DECREF(key); Py_DECREF(value);
