mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Merged revisions 76764 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
  r76764 | antoine.pitrou | 2009-12-12 20:18:27 +0100 (sam., 12 déc. 2009) | 12 lines
  Merged revisions 76763 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk
  ........
    r76763 | antoine.pitrou | 2009-12-12 20:13:08 +0100 (sam., 12 déc. 2009) | 7 lines
    Issue #7466: segmentation fault when the garbage collector is called
    in the middle of populating a tuple.  Patch by Florent Xicluna.
    (note: no NEWS entry for trunk since the bug was introduced in 2.7/3.1)
  ........
................
			
			
This commit is contained in:
		
							parent
							
								
									a6cdd83f7f
								
							
						
					
					
						commit
						2795e6c1c4
					
				
					 3 changed files with 8 additions and 1 deletions
				
			
		|  | @ -146,6 +146,9 @@ class MyTuple(tuple): | |||
|             pass | ||||
|         self.check_track_dynamic(MyTuple, True) | ||||
| 
 | ||||
|     def test_bug7466(self): | ||||
|         # Trying to untrack an unfinished tuple could crash Python | ||||
|         self._not_tracked(tuple(gc.collect() for i in range(101))) | ||||
| 
 | ||||
| def test_main(): | ||||
|     support.run_unittest(TupleTest) | ||||
|  |  | |||
|  | @ -12,6 +12,9 @@ What's New in Python 3.1.2? | |||
| Core and Builtins | ||||
| ----------------- | ||||
| 
 | ||||
| - Issue #7466: segmentation fault when the garbage collector is called | ||||
|   in the middle of populating a tuple.  Patch by Florent Xicluna. | ||||
| 
 | ||||
| - Issue #7419: setlocale() could crash the interpreter on Windows when called | ||||
|   with invalid values. | ||||
| 
 | ||||
|  |  | |||
|  | @ -850,6 +850,7 @@ _PyTuple_Resize(PyObject **pv, Py_ssize_t newsize) | |||
| 
 | ||||
| 	/* XXX UNREF/NEWREF interface should be more symmetrical */ | ||||
| 	_Py_DEC_REFTOTAL; | ||||
| 	if (_PyObject_GC_IS_TRACKED(v)) | ||||
| 		_PyObject_GC_UNTRACK(v); | ||||
| 	_Py_ForgetReference((PyObject *) v); | ||||
| 	/* DECREF items deleted by shrinkage */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Antoine Pitrou
						Antoine Pitrou