mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	Merged revisions 68560 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r68560 | amaury.forgeotdarc | 2009-01-13 00:36:55 +0100 (mar., 13 janv. 2009) | 6 lines #3720: Interpreter crashes when an evil iterator removes its own next function. Now the slot is filled with a function that always raises. Will not backport: extensions compiled with 2.6.x would not run on 2.6.0. ........
This commit is contained in:
		
							parent
							
								
									e5e298f875
								
							
						
					
					
						commit
						f343e01c17
					
				
					 10 changed files with 47 additions and 67 deletions
				
			
		|  | @ -375,7 +375,6 @@ filter_next(filterobject *lz) | |||
| 	long ok; | ||||
| 	PyObject *(*iternext)(PyObject *); | ||||
| 
 | ||||
| 	assert(PyIter_Check(it)); | ||||
| 	iternext = *Py_TYPE(it)->tp_iternext; | ||||
| 	for (;;) { | ||||
| 		item = iternext(it); | ||||
|  | @ -2144,7 +2143,6 @@ zip_next(zipobject *lz) | |||
| 		Py_INCREF(result); | ||||
| 		for (i=0 ; i < tuplesize ; i++) { | ||||
| 			it = PyTuple_GET_ITEM(lz->ittuple, i); | ||||
| 			assert(PyIter_Check(it)); | ||||
| 			item = (*Py_TYPE(it)->tp_iternext)(it); | ||||
| 			if (item == NULL) { | ||||
| 				Py_DECREF(result); | ||||
|  | @ -2160,7 +2158,6 @@ zip_next(zipobject *lz) | |||
| 			return NULL; | ||||
| 		for (i=0 ; i < tuplesize ; i++) { | ||||
| 			it = PyTuple_GET_ITEM(lz->ittuple, i); | ||||
| 			assert(PyIter_Check(it)); | ||||
| 			item = (*Py_TYPE(it)->tp_iternext)(it); | ||||
| 			if (item == NULL) { | ||||
| 				Py_DECREF(result); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Amaury Forgeot d'Arc
						Amaury Forgeot d'Arc