Hi All, I think, I've just found a little bug within COSParser::validateXrefOffsets, which occures when a xref generation is corrected using COSObjectKey::fixGeneration.
The issue is, that COSObjectKey is used as a hash-key and this instance is modified with fixGeneration. Because of this modification, the hasCode of the COSObjectKey is changed and the associated hashmap entry cannot longer be found in the xrefTable. Hashmap key objects should better be immutabel (see https://howtodoinjava.com/java/collections/hashmap/design-good-key-for-hashmap/) According to the change history, this issue was introduced with a commit for PDFBOX-4153, but PDFBOX-4490 seems also be related. If you wish, I can provide a fix for this. The original intent was, to save few bytes in the COSObjectKey. Saving 4 bytes within an object seems a bit useless, but since there may be many instances, it might be an improvement. Beside this, hashCode() and equals() can be improved a little bit ;-). Are you interested in this micro-improvement ? I'm referencing the current git repository https://github.com/apache/pdfbox/tree/trunk Regards, Roland. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org For additional commands, e-mail: users-h...@pdfbox.apache.org