Skip to content

Commit b1e5f52

Browse files
Disable free references reusing
Unless different instances for indirect references with same object number but different generation numbers will be introduced, free references reusing might be wrong. It's because indirect reference could have been contained in some particular object (on doc reading), set free, and then reused, while still same instance of indirect reference was left in that particular object. DEVSIX-608
1 parent 72c2769 commit b1e5f52

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

kernel/src/main/java/com/itextpdf/kernel/pdf/PdfXrefTable.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -181,14 +181,8 @@ PdfIndirectReference createNewIndirectReference(PdfDocument document) {
181181
* @return created indirect reference.
182182
*/
183183
protected PdfIndirectReference createNextIndirectReference(PdfDocument document) {
184-
PdfIndirectReference reference = removeFreeRefFromList(-1);
185-
if (reference != null) {
186-
reference.setOffset(0);
187-
reference.clearState(PdfObject.FREE);
188-
} else {
189-
reference = new PdfIndirectReference(document, ++count);
190-
add(reference);
191-
}
184+
PdfIndirectReference reference = new PdfIndirectReference(document, ++count);
185+
add(reference);
192186
return reference.setState(PdfObject.MODIFIED);
193187
}
194188

0 commit comments

Comments
 (0)