diff options
author | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2024-01-20 18:43:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-20 18:43:07 +0100 |
commit | 4660e23262fd3606d0b9ef7db9bcc315783b16e3 (patch) | |
tree | 636f7896d7d7a347834f71968d3a232309d4a24e /libqpdf | |
parent | 7be985b032d959fd9763088e6b36c7a923895b4e (diff) | |
parent | f0343565edd3679210c598d3361ad9530829e73c (diff) | |
download | qpdf-4660e23262fd3606d0b9ef7db9bcc315783b16e3.tar.zst |
Merge pull request #1128 from m-holger/reconstruct
Tighten checks for invalid indirect references during xref reconstru…
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 8cff3dfd..01158ce2 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1195,6 +1195,10 @@ QPDF::insertFreeXrefEntry(QPDFObjGen og) void QPDF::insertReconstructedXrefEntry(int obj, qpdf_offset_t f1, int f2) { + if (!(obj > 0 && 0 <= f2 && f2 < 65535)) { + QTC::TC("qpdf", "QPDF xref overwrite invalid objgen"); + return; + } QPDFObjGen og(obj, f2); if (!m->deleted_objects.count(obj)) { // deleted_objects stores the uncompressed objects removed from the xref table at the start |