Author: tilman
Date: Mon Sep 1 15:15:46 2025
New Revision: 1928165
Log:
PDFBOX-5660: add debug output, improve exception message
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Mon Sep 1 15:15:42 2025 (r1928164)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Mon Sep 1 15:15:46 2025 (r1928165)
@@ -765,7 +765,8 @@ public class COSWriter implements ICOSVi
throw new IOException("Can't write new byteRange '" + byteRange +
"' not enough space: byteRange.length(): " +
byteRange.length() +
", byteRangeLength: " + byteRangeLength +
- ", byteRangeOffset: " + byteRangeOffset);
+ ", byteRangeOffset: " + byteRangeOffset +
+ ", inLength: " + inLength);
}
// copy the new incremental data into a buffer (e.g. signature dict,
trailer)
@@ -1154,10 +1155,15 @@ public class COSWriter implements ICOSVi
COSBase base3 = byteRange.get(3);
if (base2 instanceof COSInteger && base3 instanceof
COSInteger)
{
+ // PDFBOX-5521 avoid hitting "old" signatures
long br2 = ((COSInteger) base2).longValue();
long br3 = ((COSInteger) base3).longValue();
if (br2 + br3 > incrementalInput.length())
{
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("reachedSignature at offset " +
getStandardOutput().getPos() + ", byteRange: " + byteRange);
+ }
reachedSignature = true;
}
}