[
https://issues.apache.org/jira/browse/PDFBOX-3660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858199#comment-15858199
]
Tilman Hausherr commented on PDFBOX-3660:
-----------------------------------------
I tested the behavior of Adobe Reader with different versions of the file from
PDFBOX-3679: when the array is missing, Adobe does like it is \[0 0 1] which is
described in the specification. But when it is there but too short, the missing
elements are treated as 0.
> Handling of invalid annotation border
> -------------------------------------
>
> Key: PDFBOX-3660
> URL: https://issues.apache.org/jira/browse/PDFBOX-3660
> Project: PDFBox
> Issue Type: Improvement
> Components: Rendering
> Affects Versions: 2.0.4
> Environment: Latest in branch 2.0
> Reporter: Andrea Vacondio
> Assignee: Tilman Hausherr
> Priority: Minor
> Fix For: 2.0.5, 2.1.0
>
>
> We came across a doc where a link annotation border was set to an array of
> one element [0], maybe PDAnnotation::getBorder should check the array
> instance has a valid size too.
> {code}
> java.lang.RuntimeException: java.util.concurrent.ExecutionException:
> java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
>
> org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.done(PagePane.java:258)
> sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
> java.security.AccessController.doPrivileged(Native Method)
>
> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
> Caused by: java.util.concurrent.ExecutionException:
> java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
>
> org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.done(PagePane.java:247)
> sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
> java.security.AccessController.doPrivileged(Native Method)
>
> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
> java.util.ArrayList.rangeCheck(ArrayList.java:653)
> java.util.ArrayList.get(ArrayList.java:429)
> org.apache.pdfbox.cos.COSArray.get(COSArray.java:210)
>
> org.apache.pdfbox.rendering.PageDrawer.getAnnotationBorder(PageDrawer.java:1110)
>
> org.apache.pdfbox.rendering.PageDrawer.drawAnnotationLinkBorder(PageDrawer.java:1162)
>
> org.apache.pdfbox.rendering.PageDrawer.showAnnotation(PageDrawer.java:1083)
> org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:198)
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:145)
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:68)
>
> org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:236)
>
> org.apache.pdfbox.debugger.pagepane.PagePane$RenderWorker.doInBackground(PagePane.java:1)
> java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]