mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-30 23:47:27 +03:00 
			
		
		
		
	Merge pull request #1 from radarhere/fix_jpeg_magic_number
Fix JPEG magic number
This commit is contained in:
		
						commit
						cebaba1446
					
				|  | @ -3,7 +3,7 @@ import re | ||||||
| from io import BytesIO | from io import BytesIO | ||||||
| 
 | 
 | ||||||
| import pytest | import pytest | ||||||
| from PIL import ExifTags, Image, ImageFile, JpegImagePlugin | from PIL import ExifTags, Image, ImageFile, JpegImagePlugin, UnidentifiedImageError | ||||||
| 
 | 
 | ||||||
| from .helper import ( | from .helper import ( | ||||||
|     assert_image, |     assert_image, | ||||||
|  | @ -706,8 +706,8 @@ class TestFileJpeg: | ||||||
|         with Image.open("Tests/images/icc-after-SOF.jpg") as im: |         with Image.open("Tests/images/icc-after-SOF.jpg") as im: | ||||||
|             assert im.info["icc_profile"] == b"profile" |             assert im.info["icc_profile"] == b"profile" | ||||||
| 
 | 
 | ||||||
|     def test_reading_not_whole_file_for_define_it_type(self): |     def test_jpeg_magic_number(self): | ||||||
|         size = 1024 ** 2 |         size = 4097 | ||||||
|         buffer = BytesIO(b"\xFF" * size)  # Many xFF bytes |         buffer = BytesIO(b"\xFF" * size)  # Many xFF bytes | ||||||
|         buffer.max_pos = 0 |         buffer.max_pos = 0 | ||||||
|         orig_read = buffer.read |         orig_read = buffer.read | ||||||
|  | @ -718,13 +718,11 @@ class TestFileJpeg: | ||||||
|             return res |             return res | ||||||
| 
 | 
 | ||||||
|         buffer.read = read |         buffer.read = read | ||||||
|         with pytest.raises(OSError): |         with pytest.raises(UnidentifiedImageError): | ||||||
|             Image.open(buffer) |             Image.open(buffer) | ||||||
| 
 | 
 | ||||||
|         # Only small part of file has been read. |         # Assert the entire file has not been read | ||||||
|         # The upper limit of max_pos (8Kb) was chosen experimentally |         assert 0 < buffer.max_pos < size | ||||||
|         # and increased approximately twice. |  | ||||||
|         assert 0 < buffer.max_pos < 8 * 1024 |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @pytest.mark.skipif(not is_win32(), reason="Windows only") | @pytest.mark.skipif(not is_win32(), reason="Windows only") | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user