]> granicus.if.org Git - python/commitdiff
For safety, replace a tuple entry before decreffing it.
authorRaymond Hettinger <python@rcn.com>
Sat, 30 Aug 2003 00:10:06 +0000 (00:10 +0000)
committerRaymond Hettinger <python@rcn.com>
Sat, 30 Aug 2003 00:10:06 +0000 (00:10 +0000)
Modules/itertoolsmodule.c

index 4dca054d240375760af346d2e9ac5a62bc466504..68e176f23d4e71c0078d6e6f76887dadcc87d80f 100644 (file)
@@ -1591,6 +1591,7 @@ izip_next(izipobject *lz)
        PyObject *result = lz->result;
        PyObject *it;
        PyObject *item;
+       PyObject *olditem;
 
        if (tuplesize == 0)
                return NULL;
@@ -1604,8 +1605,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);