You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Sean Bridges (JIRA)" <ji...@apache.org> on 2009/05/14 01:32:45 UTC
[jira] Created: (PDFBOX-473) attempt to push back when content read
attempt to push back when content read
--------------------------------------
Key: PDFBOX-473
URL: https://issues.apache.org/jira/browse/PDFBOX-473
Project: PDFBox
Issue Type: Bug
Affects Versions: 0.8.0-incubator
Reporter: Sean Bridges
Fix For: 0.8.0-incubator
I got this exception parsing a pdf doc,
Caused by: org.apache.pdfbox.exceptions.WrappedIOException
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:228)
... 2 more
Caused by: java.lang.ArrayIndexOutOfBoundsException
at java.io.PushbackInputStream.unread(PushbackInputStream.java:218)
at org.apache.pdfbox.io.PushBackInputStream.unread(PushBackInputStream.java:123)
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSString(BaseParser.java:493)
at org.apache.pdfbox.pdfparser.BaseParser.parseDirObject(BaseParser.java:843)
at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:485)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:169)
... 3 more
This change to BaseParser fixes it,
Index: src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
===================================================================
--- src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
+++ src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
@@ -492,7 +492,10 @@
braces = 0;
}
}
- pdfSource.unread( nextThreeBytes, 0, amountRead );
+ if(amountRead > 0)
+ {
+ pdfSource.unread( nextThreeBytes, 0, amountRead );
+ }
if( braces != 0 )
{
retval.append( ch );
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (PDFBOX-473) attempt to push back when content
read
Posted by "Brian Carrier (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PDFBOX-473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Carrier resolved PDFBOX-473.
----------------------------------
Resolution: Fixed
Applied patch as submitted and also added safety code to the unread() function to prevent this from happening in other locations.
Sending trunk/src/main/java/org/apache/pdfbox/io/PushBackInputStream.java
Sending trunk/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
Transmitting file data ..
Committed revision 778881.
> attempt to push back when content read
> --------------------------------------
>
> Key: PDFBOX-473
> URL: https://issues.apache.org/jira/browse/PDFBOX-473
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 0.8.0-incubator
> Reporter: Sean Bridges
> Fix For: 0.8.0-incubator
>
>
> I got this exception parsing a pdf doc,
> Caused by: org.apache.pdfbox.exceptions.WrappedIOException
> at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:228)
> ... 2 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException
> at java.io.PushbackInputStream.unread(PushbackInputStream.java:218)
> at org.apache.pdfbox.io.PushBackInputStream.unread(PushBackInputStream.java:123)
> at org.apache.pdfbox.pdfparser.BaseParser.parseCOSString(BaseParser.java:493)
> at org.apache.pdfbox.pdfparser.BaseParser.parseDirObject(BaseParser.java:843)
> at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:485)
> at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:169)
> ... 3 more
> This change to BaseParser fixes it,
> Index: src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
> ===================================================================
> --- src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
> +++ src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
> @@ -492,7 +492,10 @@
> braces = 0;
> }
> }
> - pdfSource.unread( nextThreeBytes, 0, amountRead );
> + if(amountRead > 0)
> + {
> + pdfSource.unread( nextThreeBytes, 0, amountRead );
> + }
> if( braces != 0 )
> {
> retval.append( ch );
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.