Emanuel Vintila created IMAGING-211:
---------------------------------------

             Summary: Imaging.getBufferedImage fails throwing 
java.lang.ArrayIndexOutOfBoundsException for specific inputs -- 
evintila-april_dynamics
                 Key: IMAGING-211
                 URL: https://issues.apache.org/jira/browse/IMAGING-211
             Project: Commons Imaging
          Issue Type: Bug
          Components: imaging.common.*
    Affects Versions: 1.0
         Environment: Ubuntu 17.10
            Reporter: Emanuel Vintila


For specific inputs, Imaging.getBufferedImage fails throwing 
java.lang.ArrayIndexOutOfBoundsException: -99, instead of ImageReadException or 
IOException. 
Example code that can be used to reproduce the problem, with "testfile_2" found 
at this link 
[testfile_2|https://drive.google.com/open?id=1Hu4VOWEJ2ARqAmDDhb9zT5kEbi-Ukrct]:

// evintila @ April Dynamics
File file = new File("testfile_2");
final Map<String, Object> params = new HashMap<>();
params.put(ImagingConstants.BUFFERED_IMAGE_FACTORY,
    new ManagedImageBufferedImageFactory());
          
try
{
// the problem is here:
final BufferedImage image = Imaging.getBufferedImage(file, params);
} catch (ImageReadException e)
{
          
} catch (IOException e)
{
          
}

-----------------------------
Output: 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -99
        at 
org.apache.commons.imaging.formats.png.chunks.PngChunkIhdr.<init>(PngChunkIhdr.java:55)
        at 
org.apache.commons.imaging.formats.png.PngImageParser.readChunks(PngImageParser.java:186)
        at 
org.apache.commons.imaging.formats.png.PngImageParser.readChunks(PngImageParser.java:229)
        at 
org.apache.commons.imaging.formats.png.PngImageParser.getBufferedImage(PngImageParser.java:494)
        at 
org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1377)
        at 
org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1365)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to