]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
For safety, replace a tuple entry before decreffing it.
authorRaymond Hettinger <python@rcn.com>
Sat, 30 Aug 2003 00:11:16 +0000 (00:11 +0000)
committerRaymond Hettinger <python@rcn.com>
Sat, 30 Aug 2003 00:11:16 +0000 (00:11 +0000)
Modules/itertoolsmodule.c

index 4f49fefb28bcdfa408a7606ff905e587584f3e78..de7939d6fb9f9491fb68f3ef55d2d739b2b29e50 100644 (file)
@@ -1597,6 +1597,7 @@ izip_next(izipobject *lz)
        PyObject *result = lz->result;
        PyObject *it;
        PyObject *item;
+       PyObject *olditem;
 
        if (result->ob_refcnt == 1) {
                Py_INCREF(result);
@@ -1608,8 +1609,9 @@ izip_next(izipobject *lz)
                                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);