[ https://issues.apache.org/jira/browse/IMAGING-265?focusedWorklogId=486725&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-486725 ]
ASF GitHub Bot logged work on IMAGING-265: ------------------------------------------ Author: ASF GitHub Bot Created on: 21/Sep/20 00:10 Start Date: 21/Sep/20 00:10 Worklog Time Spent: 10m Work Description: gwlucastrig commented on a change in pull request #98: URL: https://github.com/apache/commons-imaging/pull/98#discussion_r491752054 ########## File path: src/test/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStripsTest.java ########## @@ -24,7 +24,7 @@ @Test public void testApplyPredictor() throws Exception { final int[] bitsPerPixel = {1,2,3}; - final DataReaderStrips strips = new DataReaderStrips(null, null, 3, bitsPerPixel, 2, 4, 0, 3, 1, 1, null, 2, null); + final DataReaderStrips strips = new DataReaderStrips(null, null, 3, bitsPerPixel, 2, 4, 0, 3, 1, 1, 1, null, 2, null); Review comment: Agreed. Good catch. ########## File path: src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java ########## @@ -291,25 +318,50 @@ public BufferedImage readImageData(final Rectangle subImage) // or working final ImageBuilder workingBuilder = new ImageBuilder(width, workingHeight, false); - - for (int strip = strip0; strip <= strip1; strip++) { - final long rowsPerStripLong = 0xFFFFffffL & rowsPerStrip; - final long rowsRemaining = height - (strip * rowsPerStripLong); - final long rowsInThisStrip = Math.min(rowsRemaining, rowsPerStripLong); - final long bytesPerRow = (bitsPerPixel * width + 7) / 8; - final long bytesPerStrip = rowsInThisStrip * bytesPerRow; - final long pixelsPerStrip = rowsInThisStrip * width; - - final byte[] compressed = imageData.getImageData(strip).getData(); - - final byte[] decompressed = decompress(compressed, compression, - (int) bytesPerStrip, width, (int) rowsInThisStrip); - - interpretStrip( - workingBuilder, - decompressed, - (int) pixelsPerStrip, - yLimit); + if (planarConfiguration != 2) { Review comment: Agreed. Good catch. ########## File path: src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java ########## @@ -898,7 +921,7 @@ TiffRasterData getFloatingPointRasterData( final ImageDataReader dataReader = imageData.getDataReader(directory, photometricInterpreter, bitsPerPixel, bitsPerSample, predictor, - samplesPerPixel, width, height, compression, byteOrder); + samplesPerPixel, width, height, compression, 1, byteOrder); Review comment: Agreed. Good catch. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 486725) Time Spent: 1.5h (was: 1h 20m) > ArrayIndexOutOfBoundsException on reading simple GeoTIFF > -------------------------------------------------------- > > Key: IMAGING-265 > URL: https://issues.apache.org/jira/browse/IMAGING-265 > Project: Commons Imaging > Issue Type: Bug > Components: Format: TIFF > Affects Versions: 1.0-alpha2 > Reporter: edgar soldin > Assignee: Bruno P. Kinoshita > Priority: Major > Attachments: small_world.tif, small_world_split.jpg > > Time Spent: 1.5h > Remaining Estimate: 0h > > hi, > > we on the OpenJUMP project cannot open some GeoTIFFs with commons.imaging . > for details you may find a ticket in our bug tracker > [https://sourceforge.net/p/jump-pilot/bugs/498/] . > > the gist is: on loading the attached file getBufferedImage() fails with this > stack > Caused by: java.lang.ArrayIndexOutOfBoundsException: 8000Caused by: > java.lang.ArrayIndexOutOfBoundsException: 8000 at > org.apache.commons.imaging.formats.tiff.datareaders.DataReaderStrips.interpretStrip(DataReaderStrips.java:196) > at > org.apache.commons.imaging.formats.tiff.datareaders.DataReaderStrips.readImageData(DataReaderStrips.java:254) > at > org.apache.commons.imaging.formats.tiff.TiffImageParser.getBufferedImage(TiffImageParser.java:665) > at > org.apache.commons.imaging.formats.tiff.TiffDirectory.getTiffImage(TiffDirectory.java:254) > at > org.apache.commons.imaging.formats.tiff.TiffImageParser.getBufferedImage(TiffImageParser.java:469) > at org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1442) at > org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1335) at > org.apache.commons.imaging.Imaging.getBufferedImage(Imaging.java:1304) at > com.vividsolutions.jump.workbench.imagery.graphic.CommonsImage.initImage(CommonsImage.java:108) -- This message was sent by Atlassian Jira (v8.3.4#803005)