[
https://issues.apache.org/jira/browse/PDFBOX-5395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17514197#comment-17514197
]
Aleksej Kozlov commented on PDFBOX-5395:
----------------------------------------
/ByteRange[0 17131 30609 5130 ]
File size is 35739.
Now exception is throwed with COSFilterInputStream.java from your commit.
{code:java}
Exception in thread "main" java.io.IOException: FilterInputStream.skip()
returns 0, range: [37696, 38191]
at
org.apache.pdfbox.pdmodel.interactive.digitalsignature.COSFilterInputStream.nextRange(COSFilterInputStream.java:110)
at
org.apache.pdfbox.pdmodel.interactive.digitalsignature.COSFilterInputStream.read(COSFilterInputStream.java:71)
at
org.apache.pdfbox.pdmodel.interactive.digitalsignature.COSFilterInputStream.read(COSFilterInputStream.java:65)
at org.apache.pdfbox.io.IOUtils.copy(IOUtils.java:68)
at org.apache.pdfbox.io.IOUtils.toByteArray(IOUtils.java:52)
at
org.apache.pdfbox.pdmodel.interactive.digitalsignature.COSFilterInputStream.toByteArray(COSFilterInputStream.java:82)
at
org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature.getSignedContent(PDSignature.java:447)
at Main.main(Main.java:45){code}
> Hangup in COSFilterInputStream.nextRange
> ----------------------------------------
>
> Key: PDFBOX-5395
> URL: https://issues.apache.org/jira/browse/PDFBOX-5395
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 2.0.25
> Reporter: Aleksej Kozlov
> Priority: Major
>
> On some broken PDFs call _PDSignature.getSignedContent_ never returns.
> After exploring stacktrace I've found cycle in
> _COSFilterInputStream.nextRange_.
> {code:java}
> while (this.position < this.ranges[this.range][0])
> {
> long skipped = super.skip(this.ranges[this.range][0] -
> this.position);
> this.position += skipped;
> }
> {code}
> Javadoc for _skip_ says _"The skip method may, for a variety ofreasons, end
> up skipping over some smaller number of bytes, possibly 0."_
> So, when _skip_ returns 0 this cycle became infinite.
> Tried in versions 2.0.25 and 3.0.0-RC1.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]