Mercurial > cpython-lru_cache-weakref
diff Modules/itertoolsmodule.c @ 30241:3fb3747ce304 2.3
For safety, replace a tuple entry before decreffing it.
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Sat, 30 Aug 2003 00:11:16 +0000 |
| parents | e83575bb29da |
| children | 97f3d66558fb |
line wrap: on
line diff
--- a/Modules/itertoolsmodule.c Fri Aug 29 23:13:16 2003 +0000 +++ b/Modules/itertoolsmodule.c Sat Aug 30 00:11:16 2003 +0000 @@ -1597,6 +1597,7 @@ PyObject *result = lz->result; PyObject *it; PyObject *item; + PyObject *olditem; if (result->ob_refcnt == 1) { Py_INCREF(result); @@ -1608,8 +1609,9 @@ Py_DECREF(result); return NULL; } - Py_DECREF(PyTuple_GET_ITEM(result, i)); + olditem = PyTuple_GET_ITEM(result, i); PyTuple_SET_ITEM(result, i, item); + Py_DECREF(olditem); } } else { result = PyTuple_New(tuplesize);
