diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | libqpdf/QPDFWriter.cc | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,10 @@ +2014-02-22 Jay Berkenbilt <ejb@ql.org> + + * Bug fix: if the last object in the first part of a linearized + file had an offset that was below 65536 by less than the size of + the hint stream, the xref stream was invalid and the resulting file + is not usable. This is now fixed. + 2014-01-14 Jay Berkenbilt <ejb@ql.org> * 5.1.1: release diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index 7dd0d54d..0f299a45 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -2447,7 +2447,7 @@ QPDFWriter::writeXRefStream(int xref_id, int max_id, qpdf_offset_t max_offset, qpdf_offset_t space_before_zero = xref_offset - 1; // field 1 contains offsets and object stream identifiers - int f1_size = std::max(bytesNeeded(max_offset), + int f1_size = std::max(bytesNeeded(max_offset + hint_length), bytesNeeded(max_id)); // field 2 contains object stream indices |