[Python-checkins] r69690 - python/trunk/Modules/itertoolsmodule.c

benjamin.peterson python-checkins at python.org
Mon Feb 16 22:23:04 CET 2009


Author: benjamin.peterson
Date: Mon Feb 16 22:23:04 2009
New Revision: 69690
Log:
PyList_Append() can fail
Modified:
 python/trunk/Modules/itertoolsmodule.c
Modified: python/trunk/Modules/itertoolsmodule.c
==============================================================================
--- python/trunk/Modules/itertoolsmodule.c	(original)
+++ python/trunk/Modules/itertoolsmodule.c	Mon Feb 16 22:23:04 2009
@@ -745,8 +745,10 @@
 	while (1) {
 		item = PyIter_Next(lz->it);
 		if (item != NULL) {
-			if (!lz->firstpass)
-				PyList_Append(lz->saved, item);
+			if (!lz->firstpass && PyList_Append(lz->saved, item)) {
+				Py_DECREF(item);
+				return NULL;
+			}
 			return item;
 		}
 		if (PyErr_Occurred()) {


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /