mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	[3.13] gh-126594: Fix typeobject.c wrap_buffer() cast (GH-126754) (#127004)
gh-126594: Fix typeobject.c wrap_buffer() cast (GH-126754)
Reject flags smaller than INT_MIN.
(cherry picked from commit 84f07c3a4c)
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
			
			
This commit is contained in:
		
							parent
							
								
									190d710e68
								
							
						
					
					
						commit
						fd276ad328
					
				
					 2 changed files with 18 additions and 3 deletions
				
			
		|  | @ -4446,6 +4446,21 @@ def test_pybuffer_size_from_format(self): | |||
|             self.assertEqual(_testcapi.PyBuffer_SizeFromFormat(format), | ||||
|                              struct.calcsize(format)) | ||||
| 
 | ||||
|     @support.cpython_only | ||||
|     def test_flags_overflow(self): | ||||
|         # gh-126594: Check for integer overlow on large flags | ||||
|         try: | ||||
|             from _testcapi import INT_MIN, INT_MAX | ||||
|         except ImportError: | ||||
|             INT_MIN = -(2 ** 31) | ||||
|             INT_MAX = 2 ** 31 - 1 | ||||
| 
 | ||||
|         obj = b'abc' | ||||
|         for flags in (INT_MIN - 1, INT_MAX + 1): | ||||
|             with self.subTest(flags=flags): | ||||
|                 with self.assertRaises(OverflowError): | ||||
|                     obj.__buffer__(flags) | ||||
| 
 | ||||
| 
 | ||||
| class TestPythonBufferProtocol(unittest.TestCase): | ||||
|     def test_basic(self): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Miss Islington (bot)
						Miss Islington (bot)