Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0-alpha1
-
Ubuntu 17.10
-
Patch, Important
Description
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:
// 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)
Attachments
Issue Links
- links to