Opened 10 years ago
Last modified 10 years ago
#24544 closed Cleanup/optimization
core.files.images.get_image_dimensions broken on some valid PNG images — at Initial Version
Reported by: | artscoop | Owned by: | nobody |
---|---|---|---|
Component: | File uploads/storage | Version: | 1.7 |
Severity: | Normal | Keywords: | PIL |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | yes |
Easy pickings: | no | UI/UX: | no |
Description
Hi,
second time I find a bug in the same function. Here, the function failed (exception raised and not caught) on a valid PNG file (this image: https://mega.co.nz/#!W0tXzBAK!iLprbqkVWFAzfcn2GUDRGHiH8Pxyi4DxCQi580shcec).
The error raised by PIL is a struct.error
, which should be expected but is not caught by the chunk feeder loop.
The feeder knows this
except zlib.error as e: # ignore zlib complaining on truncated stream, just feed more # data to parser (ticket #19457). if e.args[0].startswith("Error -5"): pass else: raise
but does not know this
from struct import error ... except struct.error: pass
Note:
See TracTickets
for help on using tickets.
Valid but faulty image