﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24544	core.files.images.get_image_dimensions broken on some valid PNG images	artscoop	nobody	"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
}}}

when you catch the proper exception, the file header fed to the parser becomes correct starting at offset 9214.
The good news is, it does not need tests."	Uncategorized	new	File uploads/storage	1.7	Normal		PIL		Unreviewed	0	0	0	0	0	0
