EVALUATION
The gif file in question is uses application extension "ICCRGBG1012"
that is described here: http://www.color.org/wpaper2.html.
However, implementation of this extension seems to be not completely
valid from the spec-gif89a point of view. Namely, this spec states that
size of application block should be 11 (the sum of length of application
ID field and length of auth code field) and application extension data
should be represented as subsequent data sub-blocks.
Contrary to this, this extension uses the rest of application extension
block to store data. The ImageIO GIF reader does not ready to meet application
data inside application block and tries to extract it form wrong position
that leads to described failure of decoding routine.
To solve this problem I suggest to check declared length of application
extension block and treat rest of application extension block content
(i.e. everything else than application ID and auth code) as an application
extension data.
*** (#1 of 1): [ UNSAVED ] ###@###.###
|