Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.4
-
None
Description
ScratchFileBuffer does not allow seeking past the end of file. If the xref table claims an object offset past the end of file an IOException is incorrectly thrown.
COSParser.checkObjectKeys() seeks to the offset claimed in the xref table and looks for a valid object number and generation number there.
If there is an IOException while trying to READ in COSParser.checkObjectKeys(), the exception is caught and the parser falls back to brute force searching for objects offsets.
The problem is that IOExceptions are not caught when attempting to SEEK to the offset claimed in the xref table. Solution: move the seek operation inside the try {} block.