Mercurial > cpython-lru_cache-weakref
diff Objects/typeobject.c @ 37068:e43d5d2ca50a 2.4
Backport: Fix missing NULL checks after PyTuple_New, PyList_New, PyDict_New
| author | Georg Brandl <georg@python.org> |
|---|---|
| date | Fri, 17 Mar 2006 19:04:15 +0000 |
| parents | 9523a9415e18 |
| children | 3cdde45a468d |
line wrap: on
line diff
--- a/Objects/typeobject.c Thu Mar 16 18:56:35 2006 +0000 +++ b/Objects/typeobject.c Fri Mar 17 19:04:15 2006 +0000 @@ -1105,14 +1105,17 @@ char buf[1000]; PyObject *k, *v; PyObject *set = PyDict_New(); + if (!set) return; to_merge_size = PyList_GET_SIZE(to_merge); for (i = 0; i < to_merge_size; i++) { PyObject *L = PyList_GET_ITEM(to_merge, i); if (remain[i] < PyList_GET_SIZE(L)) { PyObject *c = PyList_GET_ITEM(L, remain[i]); - if (PyDict_SetItem(set, c, Py_None) < 0) + if (PyDict_SetItem(set, c, Py_None) < 0) { + Py_DECREF(set); return; + } } } n = PyDict_Size(set);
