[ https://issues.apache.org/jira/browse/IMAGING-246?focusedWorklogId=374129&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-374129 ]
ASF GitHub Bot logged work on IMAGING-246: ------------------------------------------ Author: ASF GitHub Bot Created on: 18/Jan/20 21:05 Start Date: 18/Jan/20 21:05 Worklog Time Spent: 10m Work Description: kinow commented on pull request #68: [IMAGING-246] Skip Photoshop IPTC blocks that are not recommended to be interpreted by parsers in the specification URL: https://github.com/apache/commons-imaging/pull/68 ---------------------------------------------------------------- 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: 374129) Time Spent: 50m (was: 40m) > Invalid Block Size error prevents handling of block 1084, Macintosh > NSPrintInfo > ------------------------------------------------------------------------------- > > Key: IMAGING-246 > URL: https://issues.apache.org/jira/browse/IMAGING-246 > Project: Commons Imaging > Issue Type: Bug > Components: Format: JPEG > Affects Versions: 1.0-alpha1 > Reporter: Liberty Wollerman > Assignee: Bruno P. Kinoshita > Priority: Major > Attachments: FallHarvestKitKat_07610.jpg > > Time Spent: 50m > Remaining Estimate: 0h > > When processing an image created on a Mac with Adobe Photoshop which contains > embedded metadata having block 1084, an invalid block size error occurs. > |0x043C|1084|_(Photoshop CS5)_ Macintosh NSPrintInfo. Variable OS specific > info for Macintosh. NSPrintInfo. It is recommened that you do not interpret > or use this data.| > > Here is some simple test code that replicates what our application is trying > to do, and recreates the error: > {code:java} > import org.apache.commons.imaging.ImageInfo; > import org.apache.commons.imaging.ImageReadException; > import org.apache.commons.imaging.Imaging; > import org.apache.commons.io.FileUtils; > import java.io.File; > import java.io.IOException; > import java.util.Base64; > public class Main { > public static void main(String[] args) throws IOException, > ImageReadException { > String fileName = "FallHarvestKitKat_07610.jpg"; > ClassLoader classLoader = ClassLoader.getSystemClassLoader(); > File file = new File(classLoader.getResource(fileName).getFile()); > byte[] fileContent = FileUtils.readFileToByteArray(file); > String encodedString = Base64.getEncoder().encodeToString(fileContent); > byte[] decodedValue = Base64.getDecoder().decode(encodedString); > ImageInfo imageInfo = Imaging.getImageInfo(decodedValue); > } > }{code} > > Here is the resulting error: > {noformat} > Exception in thread "main" org.apache.commons.imaging.ImageReadException: > Invalid Block Size : 89562 > 65504Exception in thread "main" > org.apache.commons.imaging.ImageReadException: Invalid Block Size : 89562 > > 65504 at > > org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parseAllBlocks(IptcParser.java:318) > at > > org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parsePhotoshopSegment(IptcParser.java:119) > at > > org.apache.commons.imaging.formats.jpeg.iptc.IptcParser.parsePhotoshopSegment(IptcParser.java:112) > at > > org.apache.commons.imaging.formats.jpeg.segments.App13Segment.parsePhotoshopSegment(App13Segment.java:71) > at > > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getPhotoshopMetadata(JpegImageParser.java:599) > at > > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getMetadata(JpegImageParser.java:318) > at > > org.apache.commons.imaging.formats.jpeg.JpegImageParser.getImageInfo(JpegImageParser.java:739) > at org.apache.commons.imaging.Imaging.getImageInfo(Imaging.java:701) at > org.apache.commons.imaging.Imaging.getImageInfo(Imaging.java:635) at > Main.getMetaData(Main.java:22) at Main.main(Main.java:17){noformat} > -- This message was sent by Atlassian Jira (v8.3.4#803005)