Merge pull request #1814 from thebostik/jpeg-qtable-bounds

Valid range for baseline jpeg qtables 0 to 255
This commit is contained in:
wiredfool 2016-04-19 16:48:03 +01:00
commit ae6c46ea92
2 changed files with 5 additions and 1 deletions

View File

@ -640,7 +640,7 @@ def _save(im, fp, filename):
try: try:
if len(table) != 64: if len(table) != 64:
raise raise
table = array.array('b', table) table = array.array('B', table)
except TypeError: except TypeError:
raise ValueError("Invalid quantization table") raise ValueError("Invalid quantization table")
else: else:

View File

@ -314,6 +314,10 @@ class TestFileJpeg(PillowTestCase):
30) 30)
self.assert_image_similar(im, self.roundtrip(im, qtables='keep'), 30) self.assert_image_similar(im, self.roundtrip(im, qtables='keep'), 30)
# valid bounds for baseline qtable
bounds_qtable = [int(s) for s in ("255 1 " * 32).split(None)]
self.roundtrip(im, qtables=[bounds_qtable])
# values from wizard.txt in jpeg9-a src package. # values from wizard.txt in jpeg9-a src package.
standard_l_qtable = [int(s) for s in """ standard_l_qtable = [int(s) for s in """
16 11 10 16 24 40 51 61 16 11 10 16 24 40 51 61