mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			897 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			897 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from helper import PillowTestCase, unittest
 | |
| import sys
 | |
| 
 | |
| from PIL import Image
 | |
| 
 | |
| 
 | |
| @unittest.skipIf(sys.platform.startswith('win32'),
 | |
|                  "Win32 does not call map_buffer")
 | |
| class TestMap(PillowTestCase):
 | |
|     def test_overflow(self):
 | |
|         # There is the potential to overflow comparisons in map.c
 | |
|         # if there are > SIZE_MAX bytes in the image or if
 | |
|         # the file encodes an offset that makes
 | |
|         # (offset + size(bytes)) > SIZE_MAX
 | |
| 
 | |
|         # Note that this image triggers the decompression bomb warning:
 | |
|         max_pixels = Image.MAX_IMAGE_PIXELS
 | |
|         Image.MAX_IMAGE_PIXELS = None
 | |
| 
 | |
|         # This image hits the offset test.
 | |
|         im = Image.open('Tests/images/l2rgb_read.bmp')
 | |
|         with self.assertRaises((ValueError, MemoryError, IOError)):
 | |
|             im.load()
 | |
| 
 | |
|         Image.MAX_IMAGE_PIXELS = max_pixels
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     unittest.main()
 |