Commit 0f97e98203dfa78cf3273005f215d2d026390e5c
1 parent
088fabd9
Handle linearization warnings as proper warning (fixes #851)
Showing
23 changed files
with
487 additions
and
482 deletions
ChangeLog
| 1 | +2023-02-18 Jay Berkenbilt <ejb@ql.org> | ||
| 2 | + | ||
| 3 | + * Treat all linearization errors and warnings as warnings, and | ||
| 4 | + issue them through the normal warning system using the new error | ||
| 5 | + code qpdf_e_linearization. That means that --no-warn will suppress | ||
| 6 | + them, and the file name is included in the warning. Fixes #851. | ||
| 7 | + | ||
| 1 | 2023-01-28 Jay Berkenbilt <ejb@ql.org> | 8 | 2023-01-28 Jay Berkenbilt <ejb@ql.org> |
| 2 | 9 | ||
| 3 | * New option --remove-restrictions removes security restrictions | 10 | * New option --remove-restrictions removes security restrictions |
README-maintainer
| @@ -127,6 +127,8 @@ CODING RULES | @@ -127,6 +127,8 @@ CODING RULES | ||
| 127 | "Code Formatting" section in manual/contributing.rst for details. | 127 | "Code Formatting" section in manual/contributing.rst for details. |
| 128 | See also "CODE FORMATTING" below. | 128 | See also "CODE FORMATTING" below. |
| 129 | 129 | ||
| 130 | +* Use std::to_string instead of QUtil::int_to_string et al | ||
| 131 | + | ||
| 130 | * Use of assert: | 132 | * Use of assert: |
| 131 | 133 | ||
| 132 | * Test code: #include <qpdf/assert_test.h> first. | 134 | * Test code: #include <qpdf/assert_test.h> first. |
TODO
| @@ -11,7 +11,6 @@ Always | @@ -11,7 +11,6 @@ Always | ||
| 11 | 11 | ||
| 12 | * Fix #874 -- make args in --encrypt to match the json and make | 12 | * Fix #874 -- make args in --encrypt to match the json and make |
| 13 | positional fill in the gaps | 13 | positional fill in the gaps |
| 14 | -* Fix #851 -- not suppressing linearization warnings | ||
| 15 | * Maybe fix #553 -- use file times for attachments | 14 | * Maybe fix #553 -- use file times for attachments |
| 16 | * Clarify idempotency section to emphasize --deterministic-id over | 15 | * Clarify idempotency section to emphasize --deterministic-id over |
| 17 | --static-id | 16 | --static-id |
include/qpdf/Constants.h
| @@ -83,14 +83,15 @@ enum qpdf_exit_code_e { | @@ -83,14 +83,15 @@ enum qpdf_exit_code_e { | ||
| 83 | 83 | ||
| 84 | enum qpdf_error_code_e { | 84 | enum qpdf_error_code_e { |
| 85 | qpdf_e_success = 0, | 85 | qpdf_e_success = 0, |
| 86 | - qpdf_e_internal, /* logic/programming error -- indicates bug */ | ||
| 87 | - qpdf_e_system, /* I/O error, memory error, etc. */ | ||
| 88 | - qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */ | ||
| 89 | - qpdf_e_password, /* incorrect password for encrypted file */ | ||
| 90 | - qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */ | ||
| 91 | - qpdf_e_pages, /* erroneous or unsupported pages structure */ | ||
| 92 | - qpdf_e_object, /* type/bounds errors accessing objects */ | ||
| 93 | - qpdf_e_json, /* error in qpdf JSON */ | 86 | + qpdf_e_internal, /* logic/programming error -- indicates bug */ |
| 87 | + qpdf_e_system, /* I/O error, memory error, etc. */ | ||
| 88 | + qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */ | ||
| 89 | + qpdf_e_password, /* incorrect password for encrypted file */ | ||
| 90 | + qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */ | ||
| 91 | + qpdf_e_pages, /* erroneous or unsupported pages structure */ | ||
| 92 | + qpdf_e_object, /* type/bounds errors accessing objects */ | ||
| 93 | + qpdf_e_json, /* error in qpdf JSON */ | ||
| 94 | + qpdf_e_linearization, /* linearization warning */ | ||
| 94 | }; | 95 | }; |
| 95 | 96 | ||
| 96 | /* Object Types */ | 97 | /* Object Types */ |
include/qpdf/QPDF.hh
| @@ -32,6 +32,7 @@ | @@ -32,6 +32,7 @@ | ||
| 32 | #include <memory> | 32 | #include <memory> |
| 33 | #include <stdio.h> | 33 | #include <stdio.h> |
| 34 | #include <string> | 34 | #include <string> |
| 35 | +#include <string_view> | ||
| 35 | #include <vector> | 36 | #include <vector> |
| 36 | 37 | ||
| 37 | #include <qpdf/Buffer.hh> | 38 | #include <qpdf/Buffer.hh> |
| @@ -1565,6 +1566,7 @@ class QPDF | @@ -1565,6 +1566,7 @@ class QPDF | ||
| 1565 | void readLinearizationData(); | 1566 | void readLinearizationData(); |
| 1566 | bool checkLinearizationInternal(); | 1567 | bool checkLinearizationInternal(); |
| 1567 | void dumpLinearizationDataInternal(); | 1568 | void dumpLinearizationDataInternal(); |
| 1569 | + void linearizationWarning(std::string_view); | ||
| 1568 | QPDFObjectHandle | 1570 | QPDFObjectHandle |
| 1569 | readHintStream(Pipeline&, qpdf_offset_t offset, size_t length); | 1571 | readHintStream(Pipeline&, qpdf_offset_t offset, size_t length); |
| 1570 | void readHPageOffset(BitStream); | 1572 | void readHPageOffset(BitStream); |
| @@ -1574,18 +1576,14 @@ class QPDF | @@ -1574,18 +1576,14 @@ class QPDF | ||
| 1574 | qpdf_offset_t getLinearizationOffset(QPDFObjGen const&); | 1576 | qpdf_offset_t getLinearizationOffset(QPDFObjGen const&); |
| 1575 | QPDFObjectHandle getUncompressedObject( | 1577 | QPDFObjectHandle getUncompressedObject( |
| 1576 | QPDFObjectHandle&, std::map<int, int> const& object_stream_data); | 1578 | QPDFObjectHandle&, std::map<int, int> const& object_stream_data); |
| 1577 | - int lengthNextN(int first_object, int n, std::list<std::string>& errors); | 1579 | + int lengthNextN(int first_object, int n); |
| 1578 | void checkHPageOffset( | 1580 | void checkHPageOffset( |
| 1579 | - std::list<std::string>& errors, | ||
| 1580 | - std::list<std::string>& warnings, | ||
| 1581 | std::vector<QPDFObjectHandle> const& pages, | 1581 | std::vector<QPDFObjectHandle> const& pages, |
| 1582 | std::map<int, int>& idx_to_obj); | 1582 | std::map<int, int>& idx_to_obj); |
| 1583 | void checkHSharedObject( | 1583 | void checkHSharedObject( |
| 1584 | - std::list<std::string>& warnings, | ||
| 1585 | - std::list<std::string>& errors, | ||
| 1586 | std::vector<QPDFObjectHandle> const& pages, | 1584 | std::vector<QPDFObjectHandle> const& pages, |
| 1587 | std::map<int, int>& idx_to_obj); | 1585 | std::map<int, int>& idx_to_obj); |
| 1588 | - void checkHOutlines(std::list<std::string>& warnings); | 1586 | + void checkHOutlines(); |
| 1589 | void dumpHPageOffset(); | 1587 | void dumpHPageOffset(); |
| 1590 | void dumpHSharedObject(); | 1588 | void dumpHSharedObject(); |
| 1591 | void dumpHGeneric(HGeneric&); | 1589 | void dumpHGeneric(HGeneric&); |
| @@ -1728,6 +1726,7 @@ class QPDF | @@ -1728,6 +1726,7 @@ class QPDF | ||
| 1728 | // Linearization data | 1726 | // Linearization data |
| 1729 | qpdf_offset_t first_xref_item_offset{0}; // actual value from file | 1727 | qpdf_offset_t first_xref_item_offset{0}; // actual value from file |
| 1730 | bool uncompressed_after_compressed{false}; | 1728 | bool uncompressed_after_compressed{false}; |
| 1729 | + bool linearization_warnings{false}; | ||
| 1731 | 1730 | ||
| 1732 | // Linearization parameter dictionary and hint table data: may be | 1731 | // Linearization parameter dictionary and hint table data: may be |
| 1733 | // read from file or computed prior to writing a linearized file | 1732 | // read from file or computed prior to writing a linearized file |
libqpdf/QPDFJob.cc
| @@ -783,7 +783,6 @@ QPDFJob::doCheck(QPDF& pdf) | @@ -783,7 +783,6 @@ QPDFJob::doCheck(QPDF& pdf) | ||
| 783 | // continue to perform additional checks after finding | 783 | // continue to perform additional checks after finding |
| 784 | // errors. | 784 | // errors. |
| 785 | bool okay = true; | 785 | bool okay = true; |
| 786 | - bool warnings = false; | ||
| 787 | auto& cout = *this->m->log->getInfo(); | 786 | auto& cout = *this->m->log->getInfo(); |
| 788 | cout << "checking " << m->infilename.get() << "\n"; | 787 | cout << "checking " << m->infilename.get() << "\n"; |
| 789 | try { | 788 | try { |
| @@ -796,12 +795,7 @@ QPDFJob::doCheck(QPDF& pdf) | @@ -796,12 +795,7 @@ QPDFJob::doCheck(QPDF& pdf) | ||
| 796 | showEncryption(pdf); | 795 | showEncryption(pdf); |
| 797 | if (pdf.isLinearized()) { | 796 | if (pdf.isLinearized()) { |
| 798 | cout << "File is linearized\n"; | 797 | cout << "File is linearized\n"; |
| 799 | - // any errors or warnings are reported by | ||
| 800 | - // checkLinearization(). We treat all issues reported here | ||
| 801 | - // as warnings. | ||
| 802 | - if (!pdf.checkLinearization()) { | ||
| 803 | - warnings = true; | ||
| 804 | - } | 798 | + pdf.checkLinearization(); |
| 805 | } else { | 799 | } else { |
| 806 | cout << "File is not linearized\n"; | 800 | cout << "File is not linearized\n"; |
| 807 | } | 801 | } |
| @@ -836,7 +830,7 @@ QPDFJob::doCheck(QPDF& pdf) | @@ -836,7 +830,7 @@ QPDFJob::doCheck(QPDF& pdf) | ||
| 836 | throw std::runtime_error("errors detected"); | 830 | throw std::runtime_error("errors detected"); |
| 837 | } | 831 | } |
| 838 | 832 | ||
| 839 | - if ((!pdf.getWarnings().empty()) || warnings) { | 833 | + if (!pdf.getWarnings().empty()) { |
| 840 | this->m->warnings = true; | 834 | this->m->warnings = true; |
| 841 | } else { | 835 | } else { |
| 842 | *this->m->log->getInfo() << "No syntax or stream encoding errors" | 836 | *this->m->log->getInfo() << "No syntax or stream encoding errors" |
libqpdf/QPDF_linearization.cc
| @@ -65,6 +65,13 @@ load_vector_vector( | @@ -65,6 +65,13 @@ load_vector_vector( | ||
| 65 | bit_stream.skipToNextByte(); | 65 | bit_stream.skipToNextByte(); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | +void | ||
| 69 | +QPDF::linearizationWarning(std::string_view msg) | ||
| 70 | +{ | ||
| 71 | + this->m->linearization_warnings = true; | ||
| 72 | + warn(qpdf_e_linearization, "", 0, std::string(msg)); | ||
| 73 | +} | ||
| 74 | + | ||
| 68 | bool | 75 | bool |
| 69 | QPDF::checkLinearization() | 76 | QPDF::checkLinearization() |
| 70 | { | 77 | { |
| @@ -73,9 +80,9 @@ QPDF::checkLinearization() | @@ -73,9 +80,9 @@ QPDF::checkLinearization() | ||
| 73 | readLinearizationData(); | 80 | readLinearizationData(); |
| 74 | result = checkLinearizationInternal(); | 81 | result = checkLinearizationInternal(); |
| 75 | } catch (std::runtime_error& e) { | 82 | } catch (std::runtime_error& e) { |
| 76 | - *this->m->log->getError() | ||
| 77 | - << "WARNING: error encountered while checking linearization data: " | ||
| 78 | - << e.what() << "\n"; | 83 | + linearizationWarning( |
| 84 | + "error encountered while checking linearization data: " + | ||
| 85 | + std::string(e.what())); | ||
| 79 | } | 86 | } |
| 80 | return result; | 87 | return result; |
| 81 | } | 88 | } |
| @@ -333,9 +340,10 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length) | @@ -333,9 +340,10 @@ QPDF::readHintStream(Pipeline& pl, qpdf_offset_t offset, size_t length) | ||
| 333 | } | 340 | } |
| 334 | qpdf_offset_t computed_end = offset + toO(length); | 341 | qpdf_offset_t computed_end = offset + toO(length); |
| 335 | if ((computed_end < min_end_offset) || (computed_end > max_end_offset)) { | 342 | if ((computed_end < min_end_offset) || (computed_end > max_end_offset)) { |
| 336 | - *this->m->log->getError() | ||
| 337 | - << "expected = " << computed_end << "; actual = " << min_end_offset | ||
| 338 | - << ".." << max_end_offset << "\n"; | 343 | + linearizationWarning( |
| 344 | + "expected = " + std::to_string(computed_end) + | ||
| 345 | + "; actual = " + std::to_string(min_end_offset) + ".." + | ||
| 346 | + std::to_string(max_end_offset)); | ||
| 339 | throw damagedPDF( | 347 | throw damagedPDF( |
| 340 | "linearization dictionary", "hint table length mismatch"); | 348 | "linearization dictionary", "hint table length mismatch"); |
| 341 | } | 349 | } |
| @@ -476,9 +484,6 @@ QPDF::checkLinearizationInternal() | @@ -476,9 +484,6 @@ QPDF::checkLinearizationInternal() | ||
| 476 | // All comments referring to the PDF spec refer to the spec for | 484 | // All comments referring to the PDF spec refer to the spec for |
| 477 | // version 1.4. | 485 | // version 1.4. |
| 478 | 486 | ||
| 479 | - std::list<std::string> errors; | ||
| 480 | - std::list<std::string> warnings; | ||
| 481 | - | ||
| 482 | // Check all values in linearization parameter dictionary | 487 | // Check all values in linearization parameter dictionary |
| 483 | 488 | ||
| 484 | LinParameters& p = this->m->linp; | 489 | LinParameters& p = this->m->linp; |
| @@ -489,21 +494,21 @@ QPDF::checkLinearizationInternal() | @@ -489,21 +494,21 @@ QPDF::checkLinearizationInternal() | ||
| 489 | std::vector<QPDFObjectHandle> const& pages = getAllPages(); | 494 | std::vector<QPDFObjectHandle> const& pages = getAllPages(); |
| 490 | if (p.first_page_object != pages.at(0).getObjectID()) { | 495 | if (p.first_page_object != pages.at(0).getObjectID()) { |
| 491 | QTC::TC("qpdf", "QPDF err /O mismatch"); | 496 | QTC::TC("qpdf", "QPDF err /O mismatch"); |
| 492 | - errors.push_back("first page object (/O) mismatch"); | 497 | + linearizationWarning("first page object (/O) mismatch"); |
| 493 | } | 498 | } |
| 494 | 499 | ||
| 495 | // N: number of pages | 500 | // N: number of pages |
| 496 | int npages = toI(pages.size()); | 501 | int npages = toI(pages.size()); |
| 497 | if (p.npages != npages) { | 502 | if (p.npages != npages) { |
| 498 | // Not tested in the test suite | 503 | // Not tested in the test suite |
| 499 | - errors.push_back("page count (/N) mismatch"); | 504 | + linearizationWarning("page count (/N) mismatch"); |
| 500 | } | 505 | } |
| 501 | 506 | ||
| 502 | for (size_t i = 0; i < toS(npages); ++i) { | 507 | for (size_t i = 0; i < toS(npages); ++i) { |
| 503 | QPDFObjectHandle const& page = pages.at(i); | 508 | QPDFObjectHandle const& page = pages.at(i); |
| 504 | QPDFObjGen og(page.getObjGen()); | 509 | QPDFObjGen og(page.getObjGen()); |
| 505 | if (this->m->xref_table[og].getType() == 2) { | 510 | if (this->m->xref_table[og].getType() == 2) { |
| 506 | - errors.push_back( | 511 | + linearizationWarning( |
| 507 | "page dictionary for page " + std::to_string(i) + | 512 | "page dictionary for page " + std::to_string(i) + |
| 508 | " is compressed"); | 513 | " is compressed"); |
| 509 | } | 514 | } |
| @@ -521,7 +526,7 @@ QPDF::checkLinearizationInternal() | @@ -521,7 +526,7 @@ QPDF::checkLinearizationInternal() | ||
| 521 | } | 526 | } |
| 522 | if (this->m->file->tell() != this->m->first_xref_item_offset) { | 527 | if (this->m->file->tell() != this->m->first_xref_item_offset) { |
| 523 | QTC::TC("qpdf", "QPDF err /T mismatch"); | 528 | QTC::TC("qpdf", "QPDF err /T mismatch"); |
| 524 | - errors.push_back( | 529 | + linearizationWarning( |
| 525 | "space before first xref item (/T) mismatch " | 530 | "space before first xref item (/T) mismatch " |
| 526 | "(computed = " + | 531 | "(computed = " + |
| 527 | std::to_string(this->m->first_xref_item_offset) + | 532 | std::to_string(this->m->first_xref_item_offset) + |
| @@ -537,8 +542,9 @@ QPDF::checkLinearizationInternal() | @@ -537,8 +542,9 @@ QPDF::checkLinearizationInternal() | ||
| 537 | // are in use. | 542 | // are in use. |
| 538 | 543 | ||
| 539 | if (this->m->uncompressed_after_compressed) { | 544 | if (this->m->uncompressed_after_compressed) { |
| 540 | - errors.push_back("linearized file contains an uncompressed object" | ||
| 541 | - " after a compressed one in a cross-reference stream"); | 545 | + linearizationWarning( |
| 546 | + "linearized file contains an uncompressed object" | ||
| 547 | + " after a compressed one in a cross-reference stream"); | ||
| 542 | } | 548 | } |
| 543 | 549 | ||
| 544 | // Further checking requires optimization and order calculation. | 550 | // Further checking requires optimization and order calculation. |
| @@ -587,7 +593,7 @@ QPDF::checkLinearizationInternal() | @@ -587,7 +593,7 @@ QPDF::checkLinearizationInternal() | ||
| 587 | } | 593 | } |
| 588 | if ((p.first_page_end < min_E) || (p.first_page_end > max_E)) { | 594 | if ((p.first_page_end < min_E) || (p.first_page_end > max_E)) { |
| 589 | QTC::TC("qpdf", "QPDF warn /E mismatch"); | 595 | QTC::TC("qpdf", "QPDF warn /E mismatch"); |
| 590 | - warnings.push_back( | 596 | + linearizationWarning( |
| 591 | "end of first page section (/E) mismatch: /E = " + | 597 | "end of first page section (/E) mismatch: /E = " + |
| 592 | std::to_string(p.first_page_end) + "; computed = " + | 598 | std::to_string(p.first_page_end) + "; computed = " + |
| 593 | std::to_string(min_E) + ".." + std::to_string(max_E)); | 599 | std::to_string(min_E) + ".." + std::to_string(max_E)); |
| @@ -596,34 +602,11 @@ QPDF::checkLinearizationInternal() | @@ -596,34 +602,11 @@ QPDF::checkLinearizationInternal() | ||
| 596 | // Check hint tables | 602 | // Check hint tables |
| 597 | 603 | ||
| 598 | std::map<int, int> shared_idx_to_obj; | 604 | std::map<int, int> shared_idx_to_obj; |
| 599 | - checkHSharedObject(errors, warnings, pages, shared_idx_to_obj); | ||
| 600 | - checkHPageOffset(errors, warnings, pages, shared_idx_to_obj); | ||
| 601 | - checkHOutlines(warnings); | ||
| 602 | - | ||
| 603 | - // Report errors | ||
| 604 | - | ||
| 605 | - bool result = true; | ||
| 606 | - | ||
| 607 | - // Treat all linearization errors as warnings. Many of them occur | ||
| 608 | - // in otherwise working files, so it's really misleading to treat | ||
| 609 | - // them as errors. We'll hang onto the distinction in the code for | ||
| 610 | - // now in case we ever have a chance to clean up the linearization | ||
| 611 | - // code. | ||
| 612 | - if (!errors.empty()) { | ||
| 613 | - result = false; | ||
| 614 | - for (auto const& error: errors) { | ||
| 615 | - *this->m->log->getError() << "WARNING: " << error << "\n"; | ||
| 616 | - } | ||
| 617 | - } | 605 | + checkHSharedObject(pages, shared_idx_to_obj); |
| 606 | + checkHPageOffset(pages, shared_idx_to_obj); | ||
| 607 | + checkHOutlines(); | ||
| 618 | 608 | ||
| 619 | - if (!warnings.empty()) { | ||
| 620 | - result = false; | ||
| 621 | - for (auto const& warning: warnings) { | ||
| 622 | - *this->m->log->getError() << "WARNING: " << warning << "\n"; | ||
| 623 | - } | ||
| 624 | - } | ||
| 625 | - | ||
| 626 | - return result; | 609 | + return !this->m->linearization_warnings; |
| 627 | } | 610 | } |
| 628 | 611 | ||
| 629 | qpdf_offset_t | 612 | qpdf_offset_t |
| @@ -680,13 +663,13 @@ QPDF::getUncompressedObject( | @@ -680,13 +663,13 @@ QPDF::getUncompressedObject( | ||
| 680 | } | 663 | } |
| 681 | 664 | ||
| 682 | int | 665 | int |
| 683 | -QPDF::lengthNextN(int first_object, int n, std::list<std::string>& errors) | 666 | +QPDF::lengthNextN(int first_object, int n) |
| 684 | { | 667 | { |
| 685 | int length = 0; | 668 | int length = 0; |
| 686 | for (int i = 0; i < n; ++i) { | 669 | for (int i = 0; i < n; ++i) { |
| 687 | QPDFObjGen og(first_object + i, 0); | 670 | QPDFObjGen og(first_object + i, 0); |
| 688 | if (this->m->xref_table.count(og) == 0) { | 671 | if (this->m->xref_table.count(og) == 0) { |
| 689 | - errors.push_back( | 672 | + linearizationWarning( |
| 690 | "no xref table entry for " + std::to_string(first_object + i) + | 673 | "no xref table entry for " + std::to_string(first_object + i) + |
| 691 | " 0"); | 674 | " 0"); |
| 692 | } else { | 675 | } else { |
| @@ -704,8 +687,6 @@ QPDF::lengthNextN(int first_object, int n, std::list<std::string>& errors) | @@ -704,8 +687,6 @@ QPDF::lengthNextN(int first_object, int n, std::list<std::string>& errors) | ||
| 704 | 687 | ||
| 705 | void | 688 | void |
| 706 | QPDF::checkHPageOffset( | 689 | QPDF::checkHPageOffset( |
| 707 | - std::list<std::string>& errors, | ||
| 708 | - std::list<std::string>& warnings, | ||
| 709 | std::vector<QPDFObjectHandle> const& pages, | 690 | std::vector<QPDFObjectHandle> const& pages, |
| 710 | std::map<int, int>& shared_idx_to_obj) | 691 | std::map<int, int>& shared_idx_to_obj) |
| 711 | { | 692 | { |
| @@ -735,7 +716,7 @@ QPDF::checkHPageOffset( | @@ -735,7 +716,7 @@ QPDF::checkHPageOffset( | ||
| 735 | } | 716 | } |
| 736 | qpdf_offset_t offset = getLinearizationOffset(first_page_og); | 717 | qpdf_offset_t offset = getLinearizationOffset(first_page_og); |
| 737 | if (table_offset != offset) { | 718 | if (table_offset != offset) { |
| 738 | - warnings.push_back("first page object offset mismatch"); | 719 | + linearizationWarning("first page object offset mismatch"); |
| 739 | } | 720 | } |
| 740 | 721 | ||
| 741 | for (int pageno = 0; pageno < npages; ++pageno) { | 722 | for (int pageno = 0; pageno < npages; ++pageno) { |
| @@ -754,7 +735,7 @@ QPDF::checkHPageOffset( | @@ -754,7 +735,7 @@ QPDF::checkHPageOffset( | ||
| 754 | he.delta_nobjects + this->m->page_offset_hints.min_nobjects; | 735 | he.delta_nobjects + this->m->page_offset_hints.min_nobjects; |
| 755 | if (h_nobjects != ce.nobjects) { | 736 | if (h_nobjects != ce.nobjects) { |
| 756 | // This happens with pdlin when there are thumbnails. | 737 | // This happens with pdlin when there are thumbnails. |
| 757 | - warnings.push_back( | 738 | + linearizationWarning( |
| 758 | "object count mismatch for page " + std::to_string(pageno) + | 739 | "object count mismatch for page " + std::to_string(pageno) + |
| 759 | ": hint table = " + std::to_string(h_nobjects) + | 740 | ": hint table = " + std::to_string(h_nobjects) + |
| 760 | "; computed = " + std::to_string(ce.nobjects)); | 741 | "; computed = " + std::to_string(ce.nobjects)); |
| @@ -762,13 +743,13 @@ QPDF::checkHPageOffset( | @@ -762,13 +743,13 @@ QPDF::checkHPageOffset( | ||
| 762 | 743 | ||
| 763 | // Use value for number of objects in hint table rather than | 744 | // Use value for number of objects in hint table rather than |
| 764 | // computed value if there is a discrepancy. | 745 | // computed value if there is a discrepancy. |
| 765 | - int length = lengthNextN(first_object, h_nobjects, errors); | 746 | + int length = lengthNextN(first_object, h_nobjects); |
| 766 | int h_length = toI( | 747 | int h_length = toI( |
| 767 | he.delta_page_length + this->m->page_offset_hints.min_page_length); | 748 | he.delta_page_length + this->m->page_offset_hints.min_page_length); |
| 768 | if (length != h_length) { | 749 | if (length != h_length) { |
| 769 | // This condition almost certainly indicates a bad hint | 750 | // This condition almost certainly indicates a bad hint |
| 770 | // table or a bug in this code. | 751 | // table or a bug in this code. |
| 771 | - errors.push_back( | 752 | + linearizationWarning( |
| 772 | "page length mismatch for page " + std::to_string(pageno) + | 753 | "page length mismatch for page " + std::to_string(pageno) + |
| 773 | ": hint table = " + std::to_string(h_length) + | 754 | ": hint table = " + std::to_string(h_length) + |
| 774 | "; computed length = " + std::to_string(length) + | 755 | "; computed length = " + std::to_string(length) + |
| @@ -784,7 +765,7 @@ QPDF::checkHPageOffset( | @@ -784,7 +765,7 @@ QPDF::checkHPageOffset( | ||
| 784 | if ((pageno == 0) && (he.nshared_objects > 0)) { | 765 | if ((pageno == 0) && (he.nshared_objects > 0)) { |
| 785 | // pdlin and Acrobat both do this even though the spec | 766 | // pdlin and Acrobat both do this even though the spec |
| 786 | // states clearly and unambiguously that they should not. | 767 | // states clearly and unambiguously that they should not. |
| 787 | - warnings.push_back("page 0 has shared identifier entries"); | 768 | + linearizationWarning("page 0 has shared identifier entries"); |
| 788 | } | 769 | } |
| 789 | 770 | ||
| 790 | for (size_t i = 0; i < toS(he.nshared_objects); ++i) { | 771 | for (size_t i = 0; i < toS(he.nshared_objects); ++i) { |
| @@ -808,7 +789,7 @@ QPDF::checkHPageOffset( | @@ -808,7 +789,7 @@ QPDF::checkHPageOffset( | ||
| 808 | for (int iter: hint_shared) { | 789 | for (int iter: hint_shared) { |
| 809 | if (!computed_shared.count(iter)) { | 790 | if (!computed_shared.count(iter)) { |
| 810 | // pdlin puts thumbnails here even though it shouldn't | 791 | // pdlin puts thumbnails here even though it shouldn't |
| 811 | - warnings.push_back( | 792 | + linearizationWarning( |
| 812 | "page " + std::to_string(pageno) + ": shared object " + | 793 | "page " + std::to_string(pageno) + ": shared object " + |
| 813 | std::to_string(iter) + | 794 | std::to_string(iter) + |
| 814 | ": in hint table but not computed list"); | 795 | ": in hint table but not computed list"); |
| @@ -820,10 +801,10 @@ QPDF::checkHPageOffset( | @@ -820,10 +801,10 @@ QPDF::checkHPageOffset( | ||
| 820 | // Acrobat does not put some things including at least | 801 | // Acrobat does not put some things including at least |
| 821 | // built-in fonts and procsets here, at least in some | 802 | // built-in fonts and procsets here, at least in some |
| 822 | // cases. | 803 | // cases. |
| 823 | - warnings.push_back( | ||
| 824 | - "page " + std::to_string(pageno) + ": shared object " + | ||
| 825 | - std::to_string(iter) + | ||
| 826 | - ": in computed list but not hint table"); | 804 | + linearizationWarning( |
| 805 | + ("page " + std::to_string(pageno) + ": shared object " + | ||
| 806 | + std::to_string(iter) + | ||
| 807 | + ": in computed list but not hint table")); | ||
| 827 | } | 808 | } |
| 828 | } | 809 | } |
| 829 | } | 810 | } |
| @@ -831,10 +812,7 @@ QPDF::checkHPageOffset( | @@ -831,10 +812,7 @@ QPDF::checkHPageOffset( | ||
| 831 | 812 | ||
| 832 | void | 813 | void |
| 833 | QPDF::checkHSharedObject( | 814 | QPDF::checkHSharedObject( |
| 834 | - std::list<std::string>& errors, | ||
| 835 | - std::list<std::string>& warnings, | ||
| 836 | - std::vector<QPDFObjectHandle> const& pages, | ||
| 837 | - std::map<int, int>& idx_to_obj) | 815 | + std::vector<QPDFObjectHandle> const& pages, std::map<int, int>& idx_to_obj) |
| 838 | { | 816 | { |
| 839 | // Implementation note 125 says shared object groups always | 817 | // Implementation note 125 says shared object groups always |
| 840 | // contain only one object. Implementation note 128 says that | 818 | // contain only one object. Implementation note 128 says that |
| @@ -856,7 +834,7 @@ QPDF::checkHSharedObject( | @@ -856,7 +834,7 @@ QPDF::checkHSharedObject( | ||
| 856 | 834 | ||
| 857 | HSharedObject& so = this->m->shared_object_hints; | 835 | HSharedObject& so = this->m->shared_object_hints; |
| 858 | if (so.nshared_total < so.nshared_first_page) { | 836 | if (so.nshared_total < so.nshared_first_page) { |
| 859 | - errors.push_back("shared object hint table: ntotal < nfirst_page"); | 837 | + linearizationWarning("shared object hint table: ntotal < nfirst_page"); |
| 860 | } else { | 838 | } else { |
| 861 | // The first nshared_first_page objects are consecutive | 839 | // The first nshared_first_page objects are consecutive |
| 862 | // objects starting with the first page object. The rest are | 840 | // objects starting with the first page object. The rest are |
| @@ -866,12 +844,12 @@ QPDF::checkHSharedObject( | @@ -866,12 +844,12 @@ QPDF::checkHSharedObject( | ||
| 866 | if (i == so.nshared_first_page) { | 844 | if (i == so.nshared_first_page) { |
| 867 | QTC::TC("qpdf", "QPDF lin check shared past first page"); | 845 | QTC::TC("qpdf", "QPDF lin check shared past first page"); |
| 868 | if (this->m->part8.empty()) { | 846 | if (this->m->part8.empty()) { |
| 869 | - errors.push_back("part 8 is empty but nshared_total > " | ||
| 870 | - "nshared_first_page"); | 847 | + linearizationWarning("part 8 is empty but nshared_total > " |
| 848 | + "nshared_first_page"); | ||
| 871 | } else { | 849 | } else { |
| 872 | int obj = this->m->part8.at(0).getObjectID(); | 850 | int obj = this->m->part8.at(0).getObjectID(); |
| 873 | if (obj != so.first_shared_obj) { | 851 | if (obj != so.first_shared_obj) { |
| 874 | - errors.push_back( | 852 | + linearizationWarning( |
| 875 | "first shared object number mismatch: " | 853 | "first shared object number mismatch: " |
| 876 | "hint table = " + | 854 | "hint table = " + |
| 877 | std::to_string(so.first_shared_obj) + | 855 | std::to_string(so.first_shared_obj) + |
| @@ -889,7 +867,7 @@ QPDF::checkHSharedObject( | @@ -889,7 +867,7 @@ QPDF::checkHSharedObject( | ||
| 889 | qpdf_offset_t h_offset = | 867 | qpdf_offset_t h_offset = |
| 890 | adjusted_offset(so.first_shared_offset); | 868 | adjusted_offset(so.first_shared_offset); |
| 891 | if (offset != h_offset) { | 869 | if (offset != h_offset) { |
| 892 | - errors.push_back( | 870 | + linearizationWarning( |
| 893 | "first shared object offset mismatch: hint table = " + | 871 | "first shared object offset mismatch: hint table = " + |
| 894 | std::to_string(h_offset) + | 872 | std::to_string(h_offset) + |
| 895 | "; computed = " + std::to_string(offset)); | 873 | "; computed = " + std::to_string(offset)); |
| @@ -899,10 +877,10 @@ QPDF::checkHSharedObject( | @@ -899,10 +877,10 @@ QPDF::checkHSharedObject( | ||
| 899 | idx_to_obj[i] = cur_object; | 877 | idx_to_obj[i] = cur_object; |
| 900 | HSharedObjectEntry& se = so.entries.at(toS(i)); | 878 | HSharedObjectEntry& se = so.entries.at(toS(i)); |
| 901 | int nobjects = se.nobjects_minus_one + 1; | 879 | int nobjects = se.nobjects_minus_one + 1; |
| 902 | - int length = lengthNextN(cur_object, nobjects, errors); | 880 | + int length = lengthNextN(cur_object, nobjects); |
| 903 | int h_length = so.min_group_length + se.delta_group_length; | 881 | int h_length = so.min_group_length + se.delta_group_length; |
| 904 | if (length != h_length) { | 882 | if (length != h_length) { |
| 905 | - errors.push_back( | 883 | + linearizationWarning( |
| 906 | "shared object " + std::to_string(i) + | 884 | "shared object " + std::to_string(i) + |
| 907 | " length mismatch: hint table = " + | 885 | " length mismatch: hint table = " + |
| 908 | std::to_string(h_length) + | 886 | std::to_string(h_length) + |
| @@ -914,7 +892,7 @@ QPDF::checkHSharedObject( | @@ -914,7 +892,7 @@ QPDF::checkHSharedObject( | ||
| 914 | } | 892 | } |
| 915 | 893 | ||
| 916 | void | 894 | void |
| 917 | -QPDF::checkHOutlines(std::list<std::string>& warnings) | 895 | +QPDF::checkHOutlines() |
| 918 | { | 896 | { |
| 919 | // Empirically, Acrobat generates the correct value for the object | 897 | // Empirically, Acrobat generates the correct value for the object |
| 920 | // number but incorrectly stores the next object number's offset | 898 | // number but incorrectly stores the next object number's offset |
| @@ -937,7 +915,7 @@ QPDF::checkHOutlines(std::list<std::string>& warnings) | @@ -937,7 +915,7 @@ QPDF::checkHOutlines(std::list<std::string>& warnings) | ||
| 937 | // This case is not exercised in test suite since not | 915 | // This case is not exercised in test suite since not |
| 938 | // permitted by the spec, but if this does occur, the | 916 | // permitted by the spec, but if this does occur, the |
| 939 | // code below would fail. | 917 | // code below would fail. |
| 940 | - warnings.push_back( | 918 | + linearizationWarning( |
| 941 | "/Outlines key of root dictionary is not indirect"); | 919 | "/Outlines key of root dictionary is not indirect"); |
| 942 | return; | 920 | return; |
| 943 | } | 921 | } |
| @@ -951,24 +929,24 @@ QPDF::checkHOutlines(std::list<std::string>& warnings) | @@ -951,24 +929,24 @@ QPDF::checkHOutlines(std::list<std::string>& warnings) | ||
| 951 | qpdf_offset_t table_offset = | 929 | qpdf_offset_t table_offset = |
| 952 | adjusted_offset(this->m->outline_hints.first_object_offset); | 930 | adjusted_offset(this->m->outline_hints.first_object_offset); |
| 953 | if (offset != table_offset) { | 931 | if (offset != table_offset) { |
| 954 | - warnings.push_back( | 932 | + linearizationWarning( |
| 955 | "incorrect offset in outlines table: hint table = " + | 933 | "incorrect offset in outlines table: hint table = " + |
| 956 | std::to_string(table_offset) + | 934 | std::to_string(table_offset) + |
| 957 | "; computed = " + std::to_string(offset)); | 935 | "; computed = " + std::to_string(offset)); |
| 958 | } | 936 | } |
| 959 | int table_length = this->m->outline_hints.group_length; | 937 | int table_length = this->m->outline_hints.group_length; |
| 960 | if (length != table_length) { | 938 | if (length != table_length) { |
| 961 | - warnings.push_back( | 939 | + linearizationWarning( |
| 962 | "incorrect length in outlines table: hint table = " + | 940 | "incorrect length in outlines table: hint table = " + |
| 963 | std::to_string(table_length) + | 941 | std::to_string(table_length) + |
| 964 | "; computed = " + std::to_string(length)); | 942 | "; computed = " + std::to_string(length)); |
| 965 | } | 943 | } |
| 966 | } else { | 944 | } else { |
| 967 | - warnings.push_back("incorrect first object number in outline " | ||
| 968 | - "hints table."); | 945 | + linearizationWarning("incorrect first object number in outline " |
| 946 | + "hints table."); | ||
| 969 | } | 947 | } |
| 970 | } else { | 948 | } else { |
| 971 | - warnings.push_back("incorrect object count in outline hint table"); | 949 | + linearizationWarning("incorrect object count in outline hint table"); |
| 972 | } | 950 | } |
| 973 | } | 951 | } |
| 974 | 952 | ||
| @@ -980,7 +958,7 @@ QPDF::showLinearizationData() | @@ -980,7 +958,7 @@ QPDF::showLinearizationData() | ||
| 980 | checkLinearizationInternal(); | 958 | checkLinearizationInternal(); |
| 981 | dumpLinearizationDataInternal(); | 959 | dumpLinearizationDataInternal(); |
| 982 | } catch (QPDFExc& e) { | 960 | } catch (QPDFExc& e) { |
| 983 | - *this->m->log->getError() << e.what() << "\n"; | 961 | + linearizationWarning(e.what()); |
| 984 | } | 962 | } |
| 985 | } | 963 | } |
| 986 | 964 |
manual/release-notes.rst
| @@ -19,6 +19,12 @@ For a detailed list of changes, please see the file | @@ -19,6 +19,12 @@ For a detailed list of changes, please see the file | ||
| 19 | - New method ``QPDF::removeSecurityRestrictions`` removes security | 19 | - New method ``QPDF::removeSecurityRestrictions`` removes security |
| 20 | restrictions from digitally signed files. | 20 | restrictions from digitally signed files. |
| 21 | 21 | ||
| 22 | + - Bug fixes | ||
| 23 | + | ||
| 24 | + - Linearization warnings are now treated like normal warnings in | ||
| 25 | + that they include the file name and are suppressed with the | ||
| 26 | + :qpdf:ref:`--no-warn` option. | ||
| 27 | + | ||
| 22 | - Performance enhancements | 28 | - Performance enhancements |
| 23 | 29 | ||
| 24 | - Include more code tidying and performance improvements from M. | 30 | - Include more code tidying and performance improvements from M. |
qpdf/qtest/linearization.test
| @@ -45,14 +45,14 @@ my @to_linearize = | @@ -45,14 +45,14 @@ my @to_linearize = | ||
| 45 | ); | 45 | ); |
| 46 | 46 | ||
| 47 | $n_tests += @linearized_files + 6; | 47 | $n_tests += @linearized_files + 6; |
| 48 | -$n_tests += (3 * @to_linearize * 5) + 6; | 48 | +$n_tests += (3 * @to_linearize * 5) + 7; |
| 49 | 49 | ||
| 50 | foreach my $base (@linearized_files) | 50 | foreach my $base (@linearized_files) |
| 51 | { | 51 | { |
| 52 | $td->runtest("dump linearization: $base", | 52 | $td->runtest("dump linearization: $base", |
| 53 | {$td->COMMAND => "qpdf --show-linearization $base.pdf"}, | 53 | {$td->COMMAND => "qpdf --show-linearization $base.pdf"}, |
| 54 | {$td->FILE => "$base.out", | 54 | {$td->FILE => "$base.out", |
| 55 | - $td->EXIT_STATUS => 0}, | 55 | + $td->EXIT_STATUS => ($base eq 'lin0' ? 0 : 3)}, |
| 56 | $td->NORMALIZE_NEWLINES); | 56 | $td->NORMALIZE_NEWLINES); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| @@ -129,5 +129,10 @@ foreach my $base (@to_linearize) | @@ -129,5 +129,10 @@ foreach my $base (@to_linearize) | ||
| 129 | } | 129 | } |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | +$td->runtest("suppress linearization warnings", | ||
| 133 | + {$td->COMMAND => "qpdf --no-warn --check lin3.pdf"}, | ||
| 134 | + {$td->FILE => "lin3-check-nowarn.out", $td->EXIT_STATUS => 3}, | ||
| 135 | + $td->NORMALIZE_NEWLINES); | ||
| 136 | + | ||
| 132 | cleanup(); | 137 | cleanup(); |
| 133 | $td->report($n_tests); | 138 | $td->report($n_tests); |
qpdf/qtest/qpdf/badlin1.out
| 1 | -WARNING: first page object (/O) mismatch | ||
| 2 | -WARNING: space before first xref item (/T) mismatch (computed = 11777; file = 11771 | ||
| 3 | -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 | ||
| 4 | -WARNING: page 0 has shared identifier entries | ||
| 5 | -WARNING: page 0: shared object 62: in hint table but not computed list | 1 | +WARNING: badlin1.pdf: first page object (/O) mismatch |
| 2 | +WARNING: badlin1.pdf: space before first xref item (/T) mismatch (computed = 11777; file = 11771 | ||
| 3 | +WARNING: badlin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 | ||
| 4 | +WARNING: badlin1.pdf: page 0 has shared identifier entries | ||
| 5 | +WARNING: badlin1.pdf: page 0: shared object 62: in hint table but not computed list | ||
| 6 | badlin1.pdf: linearization data: | 6 | badlin1.pdf: linearization data: |
| 7 | 7 | ||
| 8 | file_size: 13103 | 8 | file_size: 13103 |
| @@ -378,3 +378,4 @@ first_object: 66 | @@ -378,3 +378,4 @@ first_object: 66 | ||
| 378 | first_object_offset: 1827 | 378 | first_object_offset: 1827 |
| 379 | nobjects: 12 | 379 | nobjects: 12 |
| 380 | group_length: 2064 | 380 | group_length: 2064 |
| 381 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin1.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 | ||
| 2 | -WARNING: page 0 has shared identifier entries | ||
| 3 | -WARNING: page 0: shared object 62: in hint table but not computed list | 1 | +WARNING: lin1.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 |
| 2 | +WARNING: lin1.pdf: page 0 has shared identifier entries | ||
| 3 | +WARNING: lin1.pdf: page 0: shared object 62: in hint table but not computed list | ||
| 4 | lin1.pdf: linearization data: | 4 | lin1.pdf: linearization data: |
| 5 | 5 | ||
| 6 | file_size: 13103 | 6 | file_size: 13103 |
| @@ -376,3 +376,4 @@ first_object: 66 | @@ -376,3 +376,4 @@ first_object: 66 | ||
| 376 | first_object_offset: 1827 | 376 | first_object_offset: 1827 |
| 377 | nobjects: 12 | 377 | nobjects: 12 |
| 378 | group_length: 2064 | 378 | group_length: 2064 |
| 379 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin2.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 | ||
| 2 | -WARNING: page 0 has shared identifier entries | ||
| 3 | -WARNING: page 0: shared object 62: in hint table but not computed list | 1 | +WARNING: lin2.pdf: end of first page section (/E) mismatch: /E = 1827; computed = 3889..3891 |
| 2 | +WARNING: lin2.pdf: page 0 has shared identifier entries | ||
| 3 | +WARNING: lin2.pdf: page 0: shared object 62: in hint table but not computed list | ||
| 4 | lin2.pdf: linearization data: | 4 | lin2.pdf: linearization data: |
| 5 | 5 | ||
| 6 | file_size: 13103 | 6 | file_size: 13103 |
| @@ -376,3 +376,4 @@ first_object: 66 | @@ -376,3 +376,4 @@ first_object: 66 | ||
| 376 | first_object_offset: 1827 | 376 | first_object_offset: 1827 |
| 377 | nobjects: 12 | 377 | nobjects: 12 |
| 378 | group_length: 2064 | 378 | group_length: 2064 |
| 379 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin3-check-nowarn.out
0 โ 100644
qpdf/qtest/qpdf/lin3.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786 | ||
| 2 | -WARNING: page 1: shared object 107: in computed list but not hint table | ||
| 3 | -WARNING: page 1: shared object 109: in computed list but not hint table | ||
| 4 | -WARNING: page 2: shared object 107: in computed list but not hint table | ||
| 5 | -WARNING: page 2: shared object 109: in computed list but not hint table | ||
| 6 | -WARNING: page 3: shared object 107: in computed list but not hint table | ||
| 7 | -WARNING: page 3: shared object 109: in computed list but not hint table | ||
| 8 | -WARNING: page 4: shared object 107: in computed list but not hint table | ||
| 9 | -WARNING: page 4: shared object 109: in computed list but not hint table | ||
| 10 | -WARNING: page 5: shared object 107: in computed list but not hint table | ||
| 11 | -WARNING: page 5: shared object 109: in computed list but not hint table | ||
| 12 | -WARNING: page 6: shared object 107: in computed list but not hint table | ||
| 13 | -WARNING: page 6: shared object 109: in computed list but not hint table | ||
| 14 | -WARNING: page 7: shared object 107: in computed list but not hint table | ||
| 15 | -WARNING: page 7: shared object 109: in computed list but not hint table | ||
| 16 | -WARNING: page 8: shared object 107: in computed list but not hint table | ||
| 17 | -WARNING: page 8: shared object 109: in computed list but not hint table | ||
| 18 | -WARNING: page 9: shared object 107: in computed list but not hint table | ||
| 19 | -WARNING: page 9: shared object 109: in computed list but not hint table | ||
| 20 | -WARNING: page 10: shared object 107: in computed list but not hint table | ||
| 21 | -WARNING: page 10: shared object 109: in computed list but not hint table | ||
| 22 | -WARNING: page 11: shared object 107: in computed list but not hint table | ||
| 23 | -WARNING: page 11: shared object 109: in computed list but not hint table | ||
| 24 | -WARNING: page 12: shared object 107: in computed list but not hint table | ||
| 25 | -WARNING: page 12: shared object 109: in computed list but not hint table | ||
| 26 | -WARNING: page 13: shared object 107: in computed list but not hint table | ||
| 27 | -WARNING: page 13: shared object 109: in computed list but not hint table | ||
| 28 | -WARNING: page 14: shared object 107: in computed list but not hint table | ||
| 29 | -WARNING: page 14: shared object 109: in computed list but not hint table | ||
| 30 | -WARNING: page 15: shared object 107: in computed list but not hint table | ||
| 31 | -WARNING: page 15: shared object 109: in computed list but not hint table | ||
| 32 | -WARNING: page 16: shared object 107: in computed list but not hint table | ||
| 33 | -WARNING: page 16: shared object 109: in computed list but not hint table | ||
| 34 | -WARNING: page 17: shared object 107: in computed list but not hint table | ||
| 35 | -WARNING: page 17: shared object 109: in computed list but not hint table | ||
| 36 | -WARNING: page 18: shared object 107: in computed list but not hint table | ||
| 37 | -WARNING: page 18: shared object 109: in computed list but not hint table | ||
| 38 | -WARNING: page 19: shared object 107: in computed list but not hint table | ||
| 39 | -WARNING: page 19: shared object 109: in computed list but not hint table | ||
| 40 | -WARNING: page 20: shared object 107: in computed list but not hint table | ||
| 41 | -WARNING: page 20: shared object 109: in computed list but not hint table | ||
| 42 | -WARNING: page 21: shared object 107: in computed list but not hint table | ||
| 43 | -WARNING: page 21: shared object 109: in computed list but not hint table | ||
| 44 | -WARNING: page 22: shared object 107: in computed list but not hint table | ||
| 45 | -WARNING: page 22: shared object 109: in computed list but not hint table | ||
| 46 | -WARNING: page 23: shared object 107: in computed list but not hint table | ||
| 47 | -WARNING: page 23: shared object 109: in computed list but not hint table | ||
| 48 | -WARNING: page 24: shared object 107: in computed list but not hint table | ||
| 49 | -WARNING: page 24: shared object 109: in computed list but not hint table | ||
| 50 | -WARNING: page 25: shared object 107: in computed list but not hint table | ||
| 51 | -WARNING: page 25: shared object 109: in computed list but not hint table | ||
| 52 | -WARNING: page 26: shared object 107: in computed list but not hint table | ||
| 53 | -WARNING: page 26: shared object 109: in computed list but not hint table | ||
| 54 | -WARNING: page 27: shared object 107: in computed list but not hint table | ||
| 55 | -WARNING: page 27: shared object 109: in computed list but not hint table | ||
| 56 | -WARNING: page 28: shared object 107: in computed list but not hint table | ||
| 57 | -WARNING: page 28: shared object 109: in computed list but not hint table | ||
| 58 | -WARNING: page 29: shared object 107: in computed list but not hint table | ||
| 59 | -WARNING: page 29: shared object 109: in computed list but not hint table | ||
| 60 | -WARNING: incorrect offset in outlines table: hint table = 1627; computed = 1547 | ||
| 61 | -WARNING: incorrect length in outlines table: hint table = 1988; computed = 1936 | 1 | +WARNING: lin3.pdf: end of first page section (/E) mismatch: /E = 3978; computed = 3785..3786 |
| 2 | +WARNING: lin3.pdf: page 1: shared object 107: in computed list but not hint table | ||
| 3 | +WARNING: lin3.pdf: page 1: shared object 109: in computed list but not hint table | ||
| 4 | +WARNING: lin3.pdf: page 2: shared object 107: in computed list but not hint table | ||
| 5 | +WARNING: lin3.pdf: page 2: shared object 109: in computed list but not hint table | ||
| 6 | +WARNING: lin3.pdf: page 3: shared object 107: in computed list but not hint table | ||
| 7 | +WARNING: lin3.pdf: page 3: shared object 109: in computed list but not hint table | ||
| 8 | +WARNING: lin3.pdf: page 4: shared object 107: in computed list but not hint table | ||
| 9 | +WARNING: lin3.pdf: page 4: shared object 109: in computed list but not hint table | ||
| 10 | +WARNING: lin3.pdf: page 5: shared object 107: in computed list but not hint table | ||
| 11 | +WARNING: lin3.pdf: page 5: shared object 109: in computed list but not hint table | ||
| 12 | +WARNING: lin3.pdf: page 6: shared object 107: in computed list but not hint table | ||
| 13 | +WARNING: lin3.pdf: page 6: shared object 109: in computed list but not hint table | ||
| 14 | +WARNING: lin3.pdf: page 7: shared object 107: in computed list but not hint table | ||
| 15 | +WARNING: lin3.pdf: page 7: shared object 109: in computed list but not hint table | ||
| 16 | +WARNING: lin3.pdf: page 8: shared object 107: in computed list but not hint table | ||
| 17 | +WARNING: lin3.pdf: page 8: shared object 109: in computed list but not hint table | ||
| 18 | +WARNING: lin3.pdf: page 9: shared object 107: in computed list but not hint table | ||
| 19 | +WARNING: lin3.pdf: page 9: shared object 109: in computed list but not hint table | ||
| 20 | +WARNING: lin3.pdf: page 10: shared object 107: in computed list but not hint table | ||
| 21 | +WARNING: lin3.pdf: page 10: shared object 109: in computed list but not hint table | ||
| 22 | +WARNING: lin3.pdf: page 11: shared object 107: in computed list but not hint table | ||
| 23 | +WARNING: lin3.pdf: page 11: shared object 109: in computed list but not hint table | ||
| 24 | +WARNING: lin3.pdf: page 12: shared object 107: in computed list but not hint table | ||
| 25 | +WARNING: lin3.pdf: page 12: shared object 109: in computed list but not hint table | ||
| 26 | +WARNING: lin3.pdf: page 13: shared object 107: in computed list but not hint table | ||
| 27 | +WARNING: lin3.pdf: page 13: shared object 109: in computed list but not hint table | ||
| 28 | +WARNING: lin3.pdf: page 14: shared object 107: in computed list but not hint table | ||
| 29 | +WARNING: lin3.pdf: page 14: shared object 109: in computed list but not hint table | ||
| 30 | +WARNING: lin3.pdf: page 15: shared object 107: in computed list but not hint table | ||
| 31 | +WARNING: lin3.pdf: page 15: shared object 109: in computed list but not hint table | ||
| 32 | +WARNING: lin3.pdf: page 16: shared object 107: in computed list but not hint table | ||
| 33 | +WARNING: lin3.pdf: page 16: shared object 109: in computed list but not hint table | ||
| 34 | +WARNING: lin3.pdf: page 17: shared object 107: in computed list but not hint table | ||
| 35 | +WARNING: lin3.pdf: page 17: shared object 109: in computed list but not hint table | ||
| 36 | +WARNING: lin3.pdf: page 18: shared object 107: in computed list but not hint table | ||
| 37 | +WARNING: lin3.pdf: page 18: shared object 109: in computed list but not hint table | ||
| 38 | +WARNING: lin3.pdf: page 19: shared object 107: in computed list but not hint table | ||
| 39 | +WARNING: lin3.pdf: page 19: shared object 109: in computed list but not hint table | ||
| 40 | +WARNING: lin3.pdf: page 20: shared object 107: in computed list but not hint table | ||
| 41 | +WARNING: lin3.pdf: page 20: shared object 109: in computed list but not hint table | ||
| 42 | +WARNING: lin3.pdf: page 21: shared object 107: in computed list but not hint table | ||
| 43 | +WARNING: lin3.pdf: page 21: shared object 109: in computed list but not hint table | ||
| 44 | +WARNING: lin3.pdf: page 22: shared object 107: in computed list but not hint table | ||
| 45 | +WARNING: lin3.pdf: page 22: shared object 109: in computed list but not hint table | ||
| 46 | +WARNING: lin3.pdf: page 23: shared object 107: in computed list but not hint table | ||
| 47 | +WARNING: lin3.pdf: page 23: shared object 109: in computed list but not hint table | ||
| 48 | +WARNING: lin3.pdf: page 24: shared object 107: in computed list but not hint table | ||
| 49 | +WARNING: lin3.pdf: page 24: shared object 109: in computed list but not hint table | ||
| 50 | +WARNING: lin3.pdf: page 25: shared object 107: in computed list but not hint table | ||
| 51 | +WARNING: lin3.pdf: page 25: shared object 109: in computed list but not hint table | ||
| 52 | +WARNING: lin3.pdf: page 26: shared object 107: in computed list but not hint table | ||
| 53 | +WARNING: lin3.pdf: page 26: shared object 109: in computed list but not hint table | ||
| 54 | +WARNING: lin3.pdf: page 27: shared object 107: in computed list but not hint table | ||
| 55 | +WARNING: lin3.pdf: page 27: shared object 109: in computed list but not hint table | ||
| 56 | +WARNING: lin3.pdf: page 28: shared object 107: in computed list but not hint table | ||
| 57 | +WARNING: lin3.pdf: page 28: shared object 109: in computed list but not hint table | ||
| 58 | +WARNING: lin3.pdf: page 29: shared object 107: in computed list but not hint table | ||
| 59 | +WARNING: lin3.pdf: page 29: shared object 109: in computed list but not hint table | ||
| 60 | +WARNING: lin3.pdf: incorrect offset in outlines table: hint table = 1627; computed = 1547 | ||
| 61 | +WARNING: lin3.pdf: incorrect length in outlines table: hint table = 1988; computed = 1936 | ||
| 62 | lin3.pdf: linearization data: | 62 | lin3.pdf: linearization data: |
| 63 | 63 | ||
| 64 | file_size: 16937 | 64 | file_size: 16937 |
| @@ -316,3 +316,4 @@ first_object: 94 | @@ -316,3 +316,4 @@ first_object: 94 | ||
| 316 | first_object_offset: 1627 | 316 | first_object_offset: 1627 |
| 317 | nobjects: 12 | 317 | nobjects: 12 |
| 318 | group_length: 1988 | 318 | group_length: 1988 |
| 319 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin4.out
| 1 | -WARNING: page 0 has shared identifier entries | ||
| 2 | -WARNING: page 0: shared object 74: in hint table but not computed list | 1 | +WARNING: lin4.pdf: page 0 has shared identifier entries |
| 2 | +WARNING: lin4.pdf: page 0: shared object 74: in hint table but not computed list | ||
| 3 | lin4.pdf: linearization data: | 3 | lin4.pdf: linearization data: |
| 4 | 4 | ||
| 5 | file_size: 13055 | 5 | file_size: 13055 |
| @@ -351,3 +351,4 @@ first_object: 60 | @@ -351,3 +351,4 @@ first_object: 60 | ||
| 351 | first_object_offset: 9413 | 351 | first_object_offset: 9413 |
| 352 | nobjects: 12 | 352 | nobjects: 12 |
| 353 | group_length: 2064 | 353 | group_length: 2064 |
| 354 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin5.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005 | ||
| 2 | -WARNING: page 1: shared object 170: in computed list but not hint table | ||
| 3 | -WARNING: page 1: shared object 172: in computed list but not hint table | ||
| 4 | -WARNING: page 2: shared object 170: in computed list but not hint table | ||
| 5 | -WARNING: page 2: shared object 172: in computed list but not hint table | ||
| 6 | -WARNING: page 3: shared object 170: in computed list but not hint table | ||
| 7 | -WARNING: page 3: shared object 172: in computed list but not hint table | ||
| 8 | -WARNING: page 4: shared object 170: in computed list but not hint table | ||
| 9 | -WARNING: page 4: shared object 172: in computed list but not hint table | ||
| 10 | -WARNING: page 5: shared object 170: in computed list but not hint table | ||
| 11 | -WARNING: page 5: shared object 172: in computed list but not hint table | ||
| 12 | -WARNING: page 6: shared object 170: in computed list but not hint table | ||
| 13 | -WARNING: page 6: shared object 172: in computed list but not hint table | ||
| 14 | -WARNING: page 7: shared object 170: in computed list but not hint table | ||
| 15 | -WARNING: page 7: shared object 172: in computed list but not hint table | ||
| 16 | -WARNING: page 8: shared object 170: in computed list but not hint table | ||
| 17 | -WARNING: page 8: shared object 172: in computed list but not hint table | ||
| 18 | -WARNING: page 9: shared object 170: in computed list but not hint table | ||
| 19 | -WARNING: page 9: shared object 172: in computed list but not hint table | ||
| 20 | -WARNING: page 10: shared object 170: in computed list but not hint table | ||
| 21 | -WARNING: page 10: shared object 172: in computed list but not hint table | ||
| 22 | -WARNING: page 11: shared object 170: in computed list but not hint table | ||
| 23 | -WARNING: page 11: shared object 172: in computed list but not hint table | ||
| 24 | -WARNING: page 12: shared object 170: in computed list but not hint table | ||
| 25 | -WARNING: page 12: shared object 172: in computed list but not hint table | ||
| 26 | -WARNING: page 13: shared object 170: in computed list but not hint table | ||
| 27 | -WARNING: page 13: shared object 172: in computed list but not hint table | ||
| 28 | -WARNING: page 14: shared object 170: in computed list but not hint table | ||
| 29 | -WARNING: page 14: shared object 172: in computed list but not hint table | ||
| 30 | -WARNING: page 15: shared object 170: in computed list but not hint table | ||
| 31 | -WARNING: page 15: shared object 172: in computed list but not hint table | ||
| 32 | -WARNING: page 16: shared object 170: in computed list but not hint table | ||
| 33 | -WARNING: page 16: shared object 172: in computed list but not hint table | ||
| 34 | -WARNING: page 17: shared object 170: in computed list but not hint table | ||
| 35 | -WARNING: page 17: shared object 172: in computed list but not hint table | ||
| 36 | -WARNING: page 18: shared object 170: in computed list but not hint table | ||
| 37 | -WARNING: page 18: shared object 172: in computed list but not hint table | ||
| 38 | -WARNING: page 19: shared object 170: in computed list but not hint table | ||
| 39 | -WARNING: page 19: shared object 172: in computed list but not hint table | ||
| 40 | -WARNING: page 20: shared object 170: in computed list but not hint table | ||
| 41 | -WARNING: page 20: shared object 172: in computed list but not hint table | ||
| 42 | -WARNING: page 21: shared object 170: in computed list but not hint table | ||
| 43 | -WARNING: page 21: shared object 172: in computed list but not hint table | ||
| 44 | -WARNING: page 22: shared object 170: in computed list but not hint table | ||
| 45 | -WARNING: page 22: shared object 172: in computed list but not hint table | ||
| 46 | -WARNING: page 23: shared object 170: in computed list but not hint table | ||
| 47 | -WARNING: page 23: shared object 172: in computed list but not hint table | ||
| 48 | -WARNING: page 24: shared object 170: in computed list but not hint table | ||
| 49 | -WARNING: page 24: shared object 172: in computed list but not hint table | ||
| 50 | -WARNING: page 25: shared object 170: in computed list but not hint table | ||
| 51 | -WARNING: page 25: shared object 172: in computed list but not hint table | ||
| 52 | -WARNING: page 26: shared object 170: in computed list but not hint table | ||
| 53 | -WARNING: page 26: shared object 172: in computed list but not hint table | ||
| 54 | -WARNING: page 27: shared object 170: in computed list but not hint table | ||
| 55 | -WARNING: page 27: shared object 172: in computed list but not hint table | ||
| 56 | -WARNING: page 28: shared object 170: in computed list but not hint table | ||
| 57 | -WARNING: page 28: shared object 172: in computed list but not hint table | ||
| 58 | -WARNING: page 29: shared object 170: in computed list but not hint table | ||
| 59 | -WARNING: page 29: shared object 172: in computed list but not hint table | ||
| 60 | -WARNING: incorrect offset in outlines table: hint table = 1710; computed = 1627 | ||
| 61 | -WARNING: incorrect length in outlines table: hint table = 2124; computed = 2075 | 1 | +WARNING: lin5.pdf: end of first page section (/E) mismatch: /E = 4213; computed = 4004..4005 |
| 2 | +WARNING: lin5.pdf: page 1: shared object 170: in computed list but not hint table | ||
| 3 | +WARNING: lin5.pdf: page 1: shared object 172: in computed list but not hint table | ||
| 4 | +WARNING: lin5.pdf: page 2: shared object 170: in computed list but not hint table | ||
| 5 | +WARNING: lin5.pdf: page 2: shared object 172: in computed list but not hint table | ||
| 6 | +WARNING: lin5.pdf: page 3: shared object 170: in computed list but not hint table | ||
| 7 | +WARNING: lin5.pdf: page 3: shared object 172: in computed list but not hint table | ||
| 8 | +WARNING: lin5.pdf: page 4: shared object 170: in computed list but not hint table | ||
| 9 | +WARNING: lin5.pdf: page 4: shared object 172: in computed list but not hint table | ||
| 10 | +WARNING: lin5.pdf: page 5: shared object 170: in computed list but not hint table | ||
| 11 | +WARNING: lin5.pdf: page 5: shared object 172: in computed list but not hint table | ||
| 12 | +WARNING: lin5.pdf: page 6: shared object 170: in computed list but not hint table | ||
| 13 | +WARNING: lin5.pdf: page 6: shared object 172: in computed list but not hint table | ||
| 14 | +WARNING: lin5.pdf: page 7: shared object 170: in computed list but not hint table | ||
| 15 | +WARNING: lin5.pdf: page 7: shared object 172: in computed list but not hint table | ||
| 16 | +WARNING: lin5.pdf: page 8: shared object 170: in computed list but not hint table | ||
| 17 | +WARNING: lin5.pdf: page 8: shared object 172: in computed list but not hint table | ||
| 18 | +WARNING: lin5.pdf: page 9: shared object 170: in computed list but not hint table | ||
| 19 | +WARNING: lin5.pdf: page 9: shared object 172: in computed list but not hint table | ||
| 20 | +WARNING: lin5.pdf: page 10: shared object 170: in computed list but not hint table | ||
| 21 | +WARNING: lin5.pdf: page 10: shared object 172: in computed list but not hint table | ||
| 22 | +WARNING: lin5.pdf: page 11: shared object 170: in computed list but not hint table | ||
| 23 | +WARNING: lin5.pdf: page 11: shared object 172: in computed list but not hint table | ||
| 24 | +WARNING: lin5.pdf: page 12: shared object 170: in computed list but not hint table | ||
| 25 | +WARNING: lin5.pdf: page 12: shared object 172: in computed list but not hint table | ||
| 26 | +WARNING: lin5.pdf: page 13: shared object 170: in computed list but not hint table | ||
| 27 | +WARNING: lin5.pdf: page 13: shared object 172: in computed list but not hint table | ||
| 28 | +WARNING: lin5.pdf: page 14: shared object 170: in computed list but not hint table | ||
| 29 | +WARNING: lin5.pdf: page 14: shared object 172: in computed list but not hint table | ||
| 30 | +WARNING: lin5.pdf: page 15: shared object 170: in computed list but not hint table | ||
| 31 | +WARNING: lin5.pdf: page 15: shared object 172: in computed list but not hint table | ||
| 32 | +WARNING: lin5.pdf: page 16: shared object 170: in computed list but not hint table | ||
| 33 | +WARNING: lin5.pdf: page 16: shared object 172: in computed list but not hint table | ||
| 34 | +WARNING: lin5.pdf: page 17: shared object 170: in computed list but not hint table | ||
| 35 | +WARNING: lin5.pdf: page 17: shared object 172: in computed list but not hint table | ||
| 36 | +WARNING: lin5.pdf: page 18: shared object 170: in computed list but not hint table | ||
| 37 | +WARNING: lin5.pdf: page 18: shared object 172: in computed list but not hint table | ||
| 38 | +WARNING: lin5.pdf: page 19: shared object 170: in computed list but not hint table | ||
| 39 | +WARNING: lin5.pdf: page 19: shared object 172: in computed list but not hint table | ||
| 40 | +WARNING: lin5.pdf: page 20: shared object 170: in computed list but not hint table | ||
| 41 | +WARNING: lin5.pdf: page 20: shared object 172: in computed list but not hint table | ||
| 42 | +WARNING: lin5.pdf: page 21: shared object 170: in computed list but not hint table | ||
| 43 | +WARNING: lin5.pdf: page 21: shared object 172: in computed list but not hint table | ||
| 44 | +WARNING: lin5.pdf: page 22: shared object 170: in computed list but not hint table | ||
| 45 | +WARNING: lin5.pdf: page 22: shared object 172: in computed list but not hint table | ||
| 46 | +WARNING: lin5.pdf: page 23: shared object 170: in computed list but not hint table | ||
| 47 | +WARNING: lin5.pdf: page 23: shared object 172: in computed list but not hint table | ||
| 48 | +WARNING: lin5.pdf: page 24: shared object 170: in computed list but not hint table | ||
| 49 | +WARNING: lin5.pdf: page 24: shared object 172: in computed list but not hint table | ||
| 50 | +WARNING: lin5.pdf: page 25: shared object 170: in computed list but not hint table | ||
| 51 | +WARNING: lin5.pdf: page 25: shared object 172: in computed list but not hint table | ||
| 52 | +WARNING: lin5.pdf: page 26: shared object 170: in computed list but not hint table | ||
| 53 | +WARNING: lin5.pdf: page 26: shared object 172: in computed list but not hint table | ||
| 54 | +WARNING: lin5.pdf: page 27: shared object 170: in computed list but not hint table | ||
| 55 | +WARNING: lin5.pdf: page 27: shared object 172: in computed list but not hint table | ||
| 56 | +WARNING: lin5.pdf: page 28: shared object 170: in computed list but not hint table | ||
| 57 | +WARNING: lin5.pdf: page 28: shared object 172: in computed list but not hint table | ||
| 58 | +WARNING: lin5.pdf: page 29: shared object 170: in computed list but not hint table | ||
| 59 | +WARNING: lin5.pdf: page 29: shared object 172: in computed list but not hint table | ||
| 60 | +WARNING: lin5.pdf: incorrect offset in outlines table: hint table = 1710; computed = 1627 | ||
| 61 | +WARNING: lin5.pdf: incorrect length in outlines table: hint table = 2124; computed = 2075 | ||
| 62 | lin5.pdf: linearization data: | 62 | lin5.pdf: linearization data: |
| 63 | 63 | ||
| 64 | file_size: 27464 | 64 | file_size: 27464 |
| @@ -316,3 +316,4 @@ first_object: 157 | @@ -316,3 +316,4 @@ first_object: 157 | ||
| 316 | first_object_offset: 1710 | 316 | first_object_offset: 1710 |
| 317 | nobjects: 12 | 317 | nobjects: 12 |
| 318 | group_length: 2124 | 318 | group_length: 2124 |
| 319 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin6.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007 | ||
| 2 | -WARNING: object count mismatch for page 0: hint table = 19; computed = 16 | ||
| 3 | -WARNING: page 0 has shared identifier entries | ||
| 4 | -WARNING: page 0: shared object 93: in hint table but not computed list | ||
| 5 | -WARNING: object count mismatch for page 1: hint table = 3; computed = 2 | ||
| 6 | -WARNING: page 1: shared object 98: in hint table but not computed list | ||
| 7 | -WARNING: page 1: shared object 99: in hint table but not computed list | ||
| 8 | -WARNING: object count mismatch for page 2: hint table = 3; computed = 2 | ||
| 9 | -WARNING: page 2: shared object 98: in hint table but not computed list | ||
| 10 | -WARNING: page 2: shared object 99: in hint table but not computed list | ||
| 11 | -WARNING: object count mismatch for page 3: hint table = 3; computed = 2 | ||
| 12 | -WARNING: page 3: shared object 98: in hint table but not computed list | ||
| 13 | -WARNING: page 3: shared object 99: in hint table but not computed list | ||
| 14 | -WARNING: object count mismatch for page 4: hint table = 3; computed = 2 | ||
| 15 | -WARNING: page 4: shared object 98: in hint table but not computed list | ||
| 16 | -WARNING: page 4: shared object 99: in hint table but not computed list | ||
| 17 | -WARNING: object count mismatch for page 5: hint table = 3; computed = 2 | ||
| 18 | -WARNING: page 5: shared object 98: in hint table but not computed list | ||
| 19 | -WARNING: page 5: shared object 99: in hint table but not computed list | ||
| 20 | -WARNING: object count mismatch for page 6: hint table = 3; computed = 2 | ||
| 21 | -WARNING: page 6: shared object 98: in hint table but not computed list | ||
| 22 | -WARNING: page 6: shared object 99: in hint table but not computed list | ||
| 23 | -WARNING: object count mismatch for page 7: hint table = 3; computed = 2 | ||
| 24 | -WARNING: page 7: shared object 98: in hint table but not computed list | ||
| 25 | -WARNING: page 7: shared object 99: in hint table but not computed list | ||
| 26 | -WARNING: object count mismatch for page 8: hint table = 3; computed = 2 | ||
| 27 | -WARNING: page 8: shared object 98: in hint table but not computed list | ||
| 28 | -WARNING: page 8: shared object 99: in hint table but not computed list | ||
| 29 | -WARNING: object count mismatch for page 9: hint table = 3; computed = 2 | ||
| 30 | -WARNING: page 9: shared object 98: in hint table but not computed list | ||
| 31 | -WARNING: page 9: shared object 99: in hint table but not computed list | ||
| 32 | -WARNING: object count mismatch for page 10: hint table = 3; computed = 2 | ||
| 33 | -WARNING: page 10: shared object 98: in hint table but not computed list | ||
| 34 | -WARNING: page 10: shared object 99: in hint table but not computed list | ||
| 35 | -WARNING: object count mismatch for page 11: hint table = 3; computed = 2 | ||
| 36 | -WARNING: page 11: shared object 98: in hint table but not computed list | ||
| 37 | -WARNING: page 11: shared object 99: in hint table but not computed list | ||
| 38 | -WARNING: object count mismatch for page 12: hint table = 3; computed = 2 | ||
| 39 | -WARNING: page 12: shared object 98: in hint table but not computed list | ||
| 40 | -WARNING: page 12: shared object 99: in hint table but not computed list | ||
| 41 | -WARNING: object count mismatch for page 13: hint table = 3; computed = 2 | ||
| 42 | -WARNING: page 13: shared object 98: in hint table but not computed list | ||
| 43 | -WARNING: page 13: shared object 99: in hint table but not computed list | ||
| 44 | -WARNING: object count mismatch for page 14: hint table = 3; computed = 2 | ||
| 45 | -WARNING: page 14: shared object 98: in hint table but not computed list | ||
| 46 | -WARNING: page 14: shared object 99: in hint table but not computed list | ||
| 47 | -WARNING: object count mismatch for page 15: hint table = 3; computed = 2 | ||
| 48 | -WARNING: page 15: shared object 98: in hint table but not computed list | ||
| 49 | -WARNING: page 15: shared object 99: in hint table but not computed list | ||
| 50 | -WARNING: object count mismatch for page 16: hint table = 3; computed = 2 | ||
| 51 | -WARNING: page 16: shared object 98: in hint table but not computed list | ||
| 52 | -WARNING: page 16: shared object 99: in hint table but not computed list | ||
| 53 | -WARNING: object count mismatch for page 17: hint table = 3; computed = 2 | ||
| 54 | -WARNING: page 17: shared object 98: in hint table but not computed list | ||
| 55 | -WARNING: page 17: shared object 99: in hint table but not computed list | ||
| 56 | -WARNING: object count mismatch for page 18: hint table = 3; computed = 2 | ||
| 57 | -WARNING: page 18: shared object 98: in hint table but not computed list | ||
| 58 | -WARNING: page 18: shared object 99: in hint table but not computed list | ||
| 59 | -WARNING: object count mismatch for page 19: hint table = 3; computed = 2 | ||
| 60 | -WARNING: page 19: shared object 98: in hint table but not computed list | ||
| 61 | -WARNING: page 19: shared object 99: in hint table but not computed list | ||
| 62 | -WARNING: object count mismatch for page 20: hint table = 3; computed = 2 | ||
| 63 | -WARNING: page 20: shared object 98: in hint table but not computed list | ||
| 64 | -WARNING: page 20: shared object 99: in hint table but not computed list | ||
| 65 | -WARNING: object count mismatch for page 21: hint table = 3; computed = 2 | ||
| 66 | -WARNING: page 21: shared object 98: in hint table but not computed list | ||
| 67 | -WARNING: page 21: shared object 99: in hint table but not computed list | ||
| 68 | -WARNING: object count mismatch for page 22: hint table = 3; computed = 2 | ||
| 69 | -WARNING: page 22: shared object 98: in hint table but not computed list | ||
| 70 | -WARNING: page 22: shared object 99: in hint table but not computed list | ||
| 71 | -WARNING: object count mismatch for page 23: hint table = 3; computed = 2 | ||
| 72 | -WARNING: page 23: shared object 98: in hint table but not computed list | ||
| 73 | -WARNING: page 23: shared object 99: in hint table but not computed list | ||
| 74 | -WARNING: object count mismatch for page 24: hint table = 3; computed = 2 | ||
| 75 | -WARNING: page 24: shared object 98: in hint table but not computed list | ||
| 76 | -WARNING: page 24: shared object 99: in hint table but not computed list | ||
| 77 | -WARNING: object count mismatch for page 25: hint table = 3; computed = 2 | ||
| 78 | -WARNING: page 25: shared object 98: in hint table but not computed list | ||
| 79 | -WARNING: page 25: shared object 99: in hint table but not computed list | ||
| 80 | -WARNING: object count mismatch for page 26: hint table = 3; computed = 2 | ||
| 81 | -WARNING: page 26: shared object 98: in hint table but not computed list | ||
| 82 | -WARNING: page 26: shared object 99: in hint table but not computed list | ||
| 83 | -WARNING: object count mismatch for page 27: hint table = 3; computed = 2 | ||
| 84 | -WARNING: page 27: shared object 98: in hint table but not computed list | ||
| 85 | -WARNING: page 27: shared object 99: in hint table but not computed list | ||
| 86 | -WARNING: object count mismatch for page 28: hint table = 3; computed = 2 | ||
| 87 | -WARNING: page 28: shared object 98: in hint table but not computed list | ||
| 88 | -WARNING: page 28: shared object 99: in hint table but not computed list | ||
| 89 | -WARNING: object count mismatch for page 29: hint table = 3; computed = 2 | ||
| 90 | -WARNING: page 29: shared object 98: in hint table but not computed list | ||
| 91 | -WARNING: page 29: shared object 99: in hint table but not computed list | 1 | +WARNING: lin6.pdf: end of first page section (/E) mismatch: /E = 2897; computed = 5005..5007 |
| 2 | +WARNING: lin6.pdf: object count mismatch for page 0: hint table = 19; computed = 16 | ||
| 3 | +WARNING: lin6.pdf: page 0 has shared identifier entries | ||
| 4 | +WARNING: lin6.pdf: page 0: shared object 93: in hint table but not computed list | ||
| 5 | +WARNING: lin6.pdf: object count mismatch for page 1: hint table = 3; computed = 2 | ||
| 6 | +WARNING: lin6.pdf: page 1: shared object 98: in hint table but not computed list | ||
| 7 | +WARNING: lin6.pdf: page 1: shared object 99: in hint table but not computed list | ||
| 8 | +WARNING: lin6.pdf: object count mismatch for page 2: hint table = 3; computed = 2 | ||
| 9 | +WARNING: lin6.pdf: page 2: shared object 98: in hint table but not computed list | ||
| 10 | +WARNING: lin6.pdf: page 2: shared object 99: in hint table but not computed list | ||
| 11 | +WARNING: lin6.pdf: object count mismatch for page 3: hint table = 3; computed = 2 | ||
| 12 | +WARNING: lin6.pdf: page 3: shared object 98: in hint table but not computed list | ||
| 13 | +WARNING: lin6.pdf: page 3: shared object 99: in hint table but not computed list | ||
| 14 | +WARNING: lin6.pdf: object count mismatch for page 4: hint table = 3; computed = 2 | ||
| 15 | +WARNING: lin6.pdf: page 4: shared object 98: in hint table but not computed list | ||
| 16 | +WARNING: lin6.pdf: page 4: shared object 99: in hint table but not computed list | ||
| 17 | +WARNING: lin6.pdf: object count mismatch for page 5: hint table = 3; computed = 2 | ||
| 18 | +WARNING: lin6.pdf: page 5: shared object 98: in hint table but not computed list | ||
| 19 | +WARNING: lin6.pdf: page 5: shared object 99: in hint table but not computed list | ||
| 20 | +WARNING: lin6.pdf: object count mismatch for page 6: hint table = 3; computed = 2 | ||
| 21 | +WARNING: lin6.pdf: page 6: shared object 98: in hint table but not computed list | ||
| 22 | +WARNING: lin6.pdf: page 6: shared object 99: in hint table but not computed list | ||
| 23 | +WARNING: lin6.pdf: object count mismatch for page 7: hint table = 3; computed = 2 | ||
| 24 | +WARNING: lin6.pdf: page 7: shared object 98: in hint table but not computed list | ||
| 25 | +WARNING: lin6.pdf: page 7: shared object 99: in hint table but not computed list | ||
| 26 | +WARNING: lin6.pdf: object count mismatch for page 8: hint table = 3; computed = 2 | ||
| 27 | +WARNING: lin6.pdf: page 8: shared object 98: in hint table but not computed list | ||
| 28 | +WARNING: lin6.pdf: page 8: shared object 99: in hint table but not computed list | ||
| 29 | +WARNING: lin6.pdf: object count mismatch for page 9: hint table = 3; computed = 2 | ||
| 30 | +WARNING: lin6.pdf: page 9: shared object 98: in hint table but not computed list | ||
| 31 | +WARNING: lin6.pdf: page 9: shared object 99: in hint table but not computed list | ||
| 32 | +WARNING: lin6.pdf: object count mismatch for page 10: hint table = 3; computed = 2 | ||
| 33 | +WARNING: lin6.pdf: page 10: shared object 98: in hint table but not computed list | ||
| 34 | +WARNING: lin6.pdf: page 10: shared object 99: in hint table but not computed list | ||
| 35 | +WARNING: lin6.pdf: object count mismatch for page 11: hint table = 3; computed = 2 | ||
| 36 | +WARNING: lin6.pdf: page 11: shared object 98: in hint table but not computed list | ||
| 37 | +WARNING: lin6.pdf: page 11: shared object 99: in hint table but not computed list | ||
| 38 | +WARNING: lin6.pdf: object count mismatch for page 12: hint table = 3; computed = 2 | ||
| 39 | +WARNING: lin6.pdf: page 12: shared object 98: in hint table but not computed list | ||
| 40 | +WARNING: lin6.pdf: page 12: shared object 99: in hint table but not computed list | ||
| 41 | +WARNING: lin6.pdf: object count mismatch for page 13: hint table = 3; computed = 2 | ||
| 42 | +WARNING: lin6.pdf: page 13: shared object 98: in hint table but not computed list | ||
| 43 | +WARNING: lin6.pdf: page 13: shared object 99: in hint table but not computed list | ||
| 44 | +WARNING: lin6.pdf: object count mismatch for page 14: hint table = 3; computed = 2 | ||
| 45 | +WARNING: lin6.pdf: page 14: shared object 98: in hint table but not computed list | ||
| 46 | +WARNING: lin6.pdf: page 14: shared object 99: in hint table but not computed list | ||
| 47 | +WARNING: lin6.pdf: object count mismatch for page 15: hint table = 3; computed = 2 | ||
| 48 | +WARNING: lin6.pdf: page 15: shared object 98: in hint table but not computed list | ||
| 49 | +WARNING: lin6.pdf: page 15: shared object 99: in hint table but not computed list | ||
| 50 | +WARNING: lin6.pdf: object count mismatch for page 16: hint table = 3; computed = 2 | ||
| 51 | +WARNING: lin6.pdf: page 16: shared object 98: in hint table but not computed list | ||
| 52 | +WARNING: lin6.pdf: page 16: shared object 99: in hint table but not computed list | ||
| 53 | +WARNING: lin6.pdf: object count mismatch for page 17: hint table = 3; computed = 2 | ||
| 54 | +WARNING: lin6.pdf: page 17: shared object 98: in hint table but not computed list | ||
| 55 | +WARNING: lin6.pdf: page 17: shared object 99: in hint table but not computed list | ||
| 56 | +WARNING: lin6.pdf: object count mismatch for page 18: hint table = 3; computed = 2 | ||
| 57 | +WARNING: lin6.pdf: page 18: shared object 98: in hint table but not computed list | ||
| 58 | +WARNING: lin6.pdf: page 18: shared object 99: in hint table but not computed list | ||
| 59 | +WARNING: lin6.pdf: object count mismatch for page 19: hint table = 3; computed = 2 | ||
| 60 | +WARNING: lin6.pdf: page 19: shared object 98: in hint table but not computed list | ||
| 61 | +WARNING: lin6.pdf: page 19: shared object 99: in hint table but not computed list | ||
| 62 | +WARNING: lin6.pdf: object count mismatch for page 20: hint table = 3; computed = 2 | ||
| 63 | +WARNING: lin6.pdf: page 20: shared object 98: in hint table but not computed list | ||
| 64 | +WARNING: lin6.pdf: page 20: shared object 99: in hint table but not computed list | ||
| 65 | +WARNING: lin6.pdf: object count mismatch for page 21: hint table = 3; computed = 2 | ||
| 66 | +WARNING: lin6.pdf: page 21: shared object 98: in hint table but not computed list | ||
| 67 | +WARNING: lin6.pdf: page 21: shared object 99: in hint table but not computed list | ||
| 68 | +WARNING: lin6.pdf: object count mismatch for page 22: hint table = 3; computed = 2 | ||
| 69 | +WARNING: lin6.pdf: page 22: shared object 98: in hint table but not computed list | ||
| 70 | +WARNING: lin6.pdf: page 22: shared object 99: in hint table but not computed list | ||
| 71 | +WARNING: lin6.pdf: object count mismatch for page 23: hint table = 3; computed = 2 | ||
| 72 | +WARNING: lin6.pdf: page 23: shared object 98: in hint table but not computed list | ||
| 73 | +WARNING: lin6.pdf: page 23: shared object 99: in hint table but not computed list | ||
| 74 | +WARNING: lin6.pdf: object count mismatch for page 24: hint table = 3; computed = 2 | ||
| 75 | +WARNING: lin6.pdf: page 24: shared object 98: in hint table but not computed list | ||
| 76 | +WARNING: lin6.pdf: page 24: shared object 99: in hint table but not computed list | ||
| 77 | +WARNING: lin6.pdf: object count mismatch for page 25: hint table = 3; computed = 2 | ||
| 78 | +WARNING: lin6.pdf: page 25: shared object 98: in hint table but not computed list | ||
| 79 | +WARNING: lin6.pdf: page 25: shared object 99: in hint table but not computed list | ||
| 80 | +WARNING: lin6.pdf: object count mismatch for page 26: hint table = 3; computed = 2 | ||
| 81 | +WARNING: lin6.pdf: page 26: shared object 98: in hint table but not computed list | ||
| 82 | +WARNING: lin6.pdf: page 26: shared object 99: in hint table but not computed list | ||
| 83 | +WARNING: lin6.pdf: object count mismatch for page 27: hint table = 3; computed = 2 | ||
| 84 | +WARNING: lin6.pdf: page 27: shared object 98: in hint table but not computed list | ||
| 85 | +WARNING: lin6.pdf: page 27: shared object 99: in hint table but not computed list | ||
| 86 | +WARNING: lin6.pdf: object count mismatch for page 28: hint table = 3; computed = 2 | ||
| 87 | +WARNING: lin6.pdf: page 28: shared object 98: in hint table but not computed list | ||
| 88 | +WARNING: lin6.pdf: page 28: shared object 99: in hint table but not computed list | ||
| 89 | +WARNING: lin6.pdf: object count mismatch for page 29: hint table = 3; computed = 2 | ||
| 90 | +WARNING: lin6.pdf: page 29: shared object 98: in hint table but not computed list | ||
| 91 | +WARNING: lin6.pdf: page 29: shared object 99: in hint table but not computed list | ||
| 92 | lin6.pdf: linearization data: | 92 | lin6.pdf: linearization data: |
| 93 | 93 | ||
| 94 | file_size: 24824 | 94 | file_size: 24824 |
| @@ -590,3 +590,4 @@ first_object: 100 | @@ -590,3 +590,4 @@ first_object: 100 | ||
| 590 | first_object_offset: 2897 | 590 | first_object_offset: 2897 |
| 591 | nobjects: 12 | 591 | nobjects: 12 |
| 592 | group_length: 2110 | 592 | group_length: 2110 |
| 593 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin7.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656 | ||
| 2 | -WARNING: page 1: shared object 170: in computed list but not hint table | ||
| 3 | -WARNING: page 1: shared object 172: in computed list but not hint table | ||
| 4 | -WARNING: page 2: shared object 170: in computed list but not hint table | ||
| 5 | -WARNING: page 2: shared object 172: in computed list but not hint table | ||
| 6 | -WARNING: page 3: shared object 170: in computed list but not hint table | ||
| 7 | -WARNING: page 3: shared object 172: in computed list but not hint table | ||
| 8 | -WARNING: page 4: shared object 170: in computed list but not hint table | ||
| 9 | -WARNING: page 4: shared object 172: in computed list but not hint table | ||
| 10 | -WARNING: page 5: shared object 170: in computed list but not hint table | ||
| 11 | -WARNING: page 5: shared object 172: in computed list but not hint table | ||
| 12 | -WARNING: page 6: shared object 170: in computed list but not hint table | ||
| 13 | -WARNING: page 6: shared object 172: in computed list but not hint table | ||
| 14 | -WARNING: page 7: shared object 170: in computed list but not hint table | ||
| 15 | -WARNING: page 7: shared object 172: in computed list but not hint table | ||
| 16 | -WARNING: page 8: shared object 170: in computed list but not hint table | ||
| 17 | -WARNING: page 8: shared object 172: in computed list but not hint table | ||
| 18 | -WARNING: page 9: shared object 170: in computed list but not hint table | ||
| 19 | -WARNING: page 9: shared object 172: in computed list but not hint table | ||
| 20 | -WARNING: page 10: shared object 170: in computed list but not hint table | ||
| 21 | -WARNING: page 10: shared object 172: in computed list but not hint table | ||
| 22 | -WARNING: page 11: shared object 170: in computed list but not hint table | ||
| 23 | -WARNING: page 11: shared object 172: in computed list but not hint table | ||
| 24 | -WARNING: page 12: shared object 170: in computed list but not hint table | ||
| 25 | -WARNING: page 12: shared object 172: in computed list but not hint table | ||
| 26 | -WARNING: page 13: shared object 170: in computed list but not hint table | ||
| 27 | -WARNING: page 13: shared object 172: in computed list but not hint table | ||
| 28 | -WARNING: page 14: shared object 170: in computed list but not hint table | ||
| 29 | -WARNING: page 14: shared object 172: in computed list but not hint table | ||
| 30 | -WARNING: page 15: shared object 170: in computed list but not hint table | ||
| 31 | -WARNING: page 15: shared object 172: in computed list but not hint table | ||
| 32 | -WARNING: page 16: shared object 170: in computed list but not hint table | ||
| 33 | -WARNING: page 16: shared object 172: in computed list but not hint table | ||
| 34 | -WARNING: page 17: shared object 170: in computed list but not hint table | ||
| 35 | -WARNING: page 17: shared object 172: in computed list but not hint table | ||
| 36 | -WARNING: page 18: shared object 170: in computed list but not hint table | ||
| 37 | -WARNING: page 18: shared object 172: in computed list but not hint table | ||
| 38 | -WARNING: page 19: shared object 170: in computed list but not hint table | ||
| 39 | -WARNING: page 19: shared object 172: in computed list but not hint table | ||
| 40 | -WARNING: page 20: shared object 170: in computed list but not hint table | ||
| 41 | -WARNING: page 20: shared object 172: in computed list but not hint table | ||
| 42 | -WARNING: page 21: shared object 170: in computed list but not hint table | ||
| 43 | -WARNING: page 21: shared object 172: in computed list but not hint table | ||
| 44 | -WARNING: page 22: shared object 170: in computed list but not hint table | ||
| 45 | -WARNING: page 22: shared object 172: in computed list but not hint table | ||
| 46 | -WARNING: page 23: shared object 170: in computed list but not hint table | ||
| 47 | -WARNING: page 23: shared object 172: in computed list but not hint table | ||
| 48 | -WARNING: page 24: shared object 170: in computed list but not hint table | ||
| 49 | -WARNING: page 24: shared object 172: in computed list but not hint table | ||
| 50 | -WARNING: page 25: shared object 170: in computed list but not hint table | ||
| 51 | -WARNING: page 25: shared object 172: in computed list but not hint table | ||
| 52 | -WARNING: page 26: shared object 170: in computed list but not hint table | ||
| 53 | -WARNING: page 26: shared object 172: in computed list but not hint table | ||
| 54 | -WARNING: page 27: shared object 170: in computed list but not hint table | ||
| 55 | -WARNING: page 27: shared object 172: in computed list but not hint table | ||
| 56 | -WARNING: page 28: shared object 170: in computed list but not hint table | ||
| 57 | -WARNING: page 28: shared object 172: in computed list but not hint table | ||
| 58 | -WARNING: page 29: shared object 170: in computed list but not hint table | ||
| 59 | -WARNING: page 29: shared object 172: in computed list but not hint table | 1 | +WARNING: lin7.pdf: end of first page section (/E) mismatch: /E = 1865; computed = 1655..1656 |
| 2 | +WARNING: lin7.pdf: page 1: shared object 170: in computed list but not hint table | ||
| 3 | +WARNING: lin7.pdf: page 1: shared object 172: in computed list but not hint table | ||
| 4 | +WARNING: lin7.pdf: page 2: shared object 170: in computed list but not hint table | ||
| 5 | +WARNING: lin7.pdf: page 2: shared object 172: in computed list but not hint table | ||
| 6 | +WARNING: lin7.pdf: page 3: shared object 170: in computed list but not hint table | ||
| 7 | +WARNING: lin7.pdf: page 3: shared object 172: in computed list but not hint table | ||
| 8 | +WARNING: lin7.pdf: page 4: shared object 170: in computed list but not hint table | ||
| 9 | +WARNING: lin7.pdf: page 4: shared object 172: in computed list but not hint table | ||
| 10 | +WARNING: lin7.pdf: page 5: shared object 170: in computed list but not hint table | ||
| 11 | +WARNING: lin7.pdf: page 5: shared object 172: in computed list but not hint table | ||
| 12 | +WARNING: lin7.pdf: page 6: shared object 170: in computed list but not hint table | ||
| 13 | +WARNING: lin7.pdf: page 6: shared object 172: in computed list but not hint table | ||
| 14 | +WARNING: lin7.pdf: page 7: shared object 170: in computed list but not hint table | ||
| 15 | +WARNING: lin7.pdf: page 7: shared object 172: in computed list but not hint table | ||
| 16 | +WARNING: lin7.pdf: page 8: shared object 170: in computed list but not hint table | ||
| 17 | +WARNING: lin7.pdf: page 8: shared object 172: in computed list but not hint table | ||
| 18 | +WARNING: lin7.pdf: page 9: shared object 170: in computed list but not hint table | ||
| 19 | +WARNING: lin7.pdf: page 9: shared object 172: in computed list but not hint table | ||
| 20 | +WARNING: lin7.pdf: page 10: shared object 170: in computed list but not hint table | ||
| 21 | +WARNING: lin7.pdf: page 10: shared object 172: in computed list but not hint table | ||
| 22 | +WARNING: lin7.pdf: page 11: shared object 170: in computed list but not hint table | ||
| 23 | +WARNING: lin7.pdf: page 11: shared object 172: in computed list but not hint table | ||
| 24 | +WARNING: lin7.pdf: page 12: shared object 170: in computed list but not hint table | ||
| 25 | +WARNING: lin7.pdf: page 12: shared object 172: in computed list but not hint table | ||
| 26 | +WARNING: lin7.pdf: page 13: shared object 170: in computed list but not hint table | ||
| 27 | +WARNING: lin7.pdf: page 13: shared object 172: in computed list but not hint table | ||
| 28 | +WARNING: lin7.pdf: page 14: shared object 170: in computed list but not hint table | ||
| 29 | +WARNING: lin7.pdf: page 14: shared object 172: in computed list but not hint table | ||
| 30 | +WARNING: lin7.pdf: page 15: shared object 170: in computed list but not hint table | ||
| 31 | +WARNING: lin7.pdf: page 15: shared object 172: in computed list but not hint table | ||
| 32 | +WARNING: lin7.pdf: page 16: shared object 170: in computed list but not hint table | ||
| 33 | +WARNING: lin7.pdf: page 16: shared object 172: in computed list but not hint table | ||
| 34 | +WARNING: lin7.pdf: page 17: shared object 170: in computed list but not hint table | ||
| 35 | +WARNING: lin7.pdf: page 17: shared object 172: in computed list but not hint table | ||
| 36 | +WARNING: lin7.pdf: page 18: shared object 170: in computed list but not hint table | ||
| 37 | +WARNING: lin7.pdf: page 18: shared object 172: in computed list but not hint table | ||
| 38 | +WARNING: lin7.pdf: page 19: shared object 170: in computed list but not hint table | ||
| 39 | +WARNING: lin7.pdf: page 19: shared object 172: in computed list but not hint table | ||
| 40 | +WARNING: lin7.pdf: page 20: shared object 170: in computed list but not hint table | ||
| 41 | +WARNING: lin7.pdf: page 20: shared object 172: in computed list but not hint table | ||
| 42 | +WARNING: lin7.pdf: page 21: shared object 170: in computed list but not hint table | ||
| 43 | +WARNING: lin7.pdf: page 21: shared object 172: in computed list but not hint table | ||
| 44 | +WARNING: lin7.pdf: page 22: shared object 170: in computed list but not hint table | ||
| 45 | +WARNING: lin7.pdf: page 22: shared object 172: in computed list but not hint table | ||
| 46 | +WARNING: lin7.pdf: page 23: shared object 170: in computed list but not hint table | ||
| 47 | +WARNING: lin7.pdf: page 23: shared object 172: in computed list but not hint table | ||
| 48 | +WARNING: lin7.pdf: page 24: shared object 170: in computed list but not hint table | ||
| 49 | +WARNING: lin7.pdf: page 24: shared object 172: in computed list but not hint table | ||
| 50 | +WARNING: lin7.pdf: page 25: shared object 170: in computed list but not hint table | ||
| 51 | +WARNING: lin7.pdf: page 25: shared object 172: in computed list but not hint table | ||
| 52 | +WARNING: lin7.pdf: page 26: shared object 170: in computed list but not hint table | ||
| 53 | +WARNING: lin7.pdf: page 26: shared object 172: in computed list but not hint table | ||
| 54 | +WARNING: lin7.pdf: page 27: shared object 170: in computed list but not hint table | ||
| 55 | +WARNING: lin7.pdf: page 27: shared object 172: in computed list but not hint table | ||
| 56 | +WARNING: lin7.pdf: page 28: shared object 170: in computed list but not hint table | ||
| 57 | +WARNING: lin7.pdf: page 28: shared object 172: in computed list but not hint table | ||
| 58 | +WARNING: lin7.pdf: page 29: shared object 170: in computed list but not hint table | ||
| 59 | +WARNING: lin7.pdf: page 29: shared object 172: in computed list but not hint table | ||
| 60 | lin7.pdf: linearization data: | 60 | lin7.pdf: linearization data: |
| 61 | 61 | ||
| 62 | file_size: 27408 | 62 | file_size: 27408 |
| @@ -290,3 +290,4 @@ first_object: 88 | @@ -290,3 +290,4 @@ first_object: 88 | ||
| 290 | first_object_offset: 12129 | 290 | first_object_offset: 12129 |
| 291 | nobjects: 12 | 291 | nobjects: 12 |
| 292 | group_length: 2030 | 292 | group_length: 2030 |
| 293 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin8.out
| 1 | -WARNING: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770 | ||
| 2 | -WARNING: object count mismatch for page 0: hint table = 7; computed = 4 | ||
| 3 | -WARNING: page 0 has shared identifier entries | ||
| 4 | -WARNING: page 0: shared object 105: in hint table but not computed list | ||
| 5 | -WARNING: object count mismatch for page 1: hint table = 3; computed = 2 | ||
| 6 | -WARNING: page 1: shared object 110: in hint table but not computed list | ||
| 7 | -WARNING: page 1: shared object 111: in hint table but not computed list | ||
| 8 | -WARNING: object count mismatch for page 2: hint table = 3; computed = 2 | ||
| 9 | -WARNING: page 2: shared object 110: in hint table but not computed list | ||
| 10 | -WARNING: page 2: shared object 111: in hint table but not computed list | ||
| 11 | -WARNING: object count mismatch for page 3: hint table = 3; computed = 2 | ||
| 12 | -WARNING: page 3: shared object 110: in hint table but not computed list | ||
| 13 | -WARNING: page 3: shared object 111: in hint table but not computed list | ||
| 14 | -WARNING: object count mismatch for page 4: hint table = 3; computed = 2 | ||
| 15 | -WARNING: page 4: shared object 110: in hint table but not computed list | ||
| 16 | -WARNING: page 4: shared object 111: in hint table but not computed list | ||
| 17 | -WARNING: object count mismatch for page 5: hint table = 3; computed = 2 | ||
| 18 | -WARNING: page 5: shared object 110: in hint table but not computed list | ||
| 19 | -WARNING: page 5: shared object 111: in hint table but not computed list | ||
| 20 | -WARNING: object count mismatch for page 6: hint table = 3; computed = 2 | ||
| 21 | -WARNING: page 6: shared object 110: in hint table but not computed list | ||
| 22 | -WARNING: page 6: shared object 111: in hint table but not computed list | ||
| 23 | -WARNING: object count mismatch for page 7: hint table = 3; computed = 2 | ||
| 24 | -WARNING: page 7: shared object 110: in hint table but not computed list | ||
| 25 | -WARNING: page 7: shared object 111: in hint table but not computed list | ||
| 26 | -WARNING: object count mismatch for page 8: hint table = 3; computed = 2 | ||
| 27 | -WARNING: page 8: shared object 110: in hint table but not computed list | ||
| 28 | -WARNING: page 8: shared object 111: in hint table but not computed list | ||
| 29 | -WARNING: object count mismatch for page 9: hint table = 3; computed = 2 | ||
| 30 | -WARNING: page 9: shared object 110: in hint table but not computed list | ||
| 31 | -WARNING: page 9: shared object 111: in hint table but not computed list | ||
| 32 | -WARNING: object count mismatch for page 10: hint table = 3; computed = 2 | ||
| 33 | -WARNING: page 10: shared object 110: in hint table but not computed list | ||
| 34 | -WARNING: page 10: shared object 111: in hint table but not computed list | ||
| 35 | -WARNING: object count mismatch for page 11: hint table = 3; computed = 2 | ||
| 36 | -WARNING: page 11: shared object 110: in hint table but not computed list | ||
| 37 | -WARNING: page 11: shared object 111: in hint table but not computed list | ||
| 38 | -WARNING: object count mismatch for page 12: hint table = 3; computed = 2 | ||
| 39 | -WARNING: page 12: shared object 110: in hint table but not computed list | ||
| 40 | -WARNING: page 12: shared object 111: in hint table but not computed list | ||
| 41 | -WARNING: object count mismatch for page 13: hint table = 3; computed = 2 | ||
| 42 | -WARNING: page 13: shared object 110: in hint table but not computed list | ||
| 43 | -WARNING: page 13: shared object 111: in hint table but not computed list | ||
| 44 | -WARNING: object count mismatch for page 14: hint table = 3; computed = 2 | ||
| 45 | -WARNING: page 14: shared object 110: in hint table but not computed list | ||
| 46 | -WARNING: page 14: shared object 111: in hint table but not computed list | ||
| 47 | -WARNING: object count mismatch for page 15: hint table = 3; computed = 2 | ||
| 48 | -WARNING: page 15: shared object 110: in hint table but not computed list | ||
| 49 | -WARNING: page 15: shared object 111: in hint table but not computed list | ||
| 50 | -WARNING: object count mismatch for page 16: hint table = 3; computed = 2 | ||
| 51 | -WARNING: page 16: shared object 110: in hint table but not computed list | ||
| 52 | -WARNING: page 16: shared object 111: in hint table but not computed list | ||
| 53 | -WARNING: object count mismatch for page 17: hint table = 3; computed = 2 | ||
| 54 | -WARNING: page 17: shared object 110: in hint table but not computed list | ||
| 55 | -WARNING: page 17: shared object 111: in hint table but not computed list | ||
| 56 | -WARNING: object count mismatch for page 18: hint table = 3; computed = 2 | ||
| 57 | -WARNING: page 18: shared object 110: in hint table but not computed list | ||
| 58 | -WARNING: page 18: shared object 111: in hint table but not computed list | ||
| 59 | -WARNING: object count mismatch for page 19: hint table = 3; computed = 2 | ||
| 60 | -WARNING: page 19: shared object 110: in hint table but not computed list | ||
| 61 | -WARNING: page 19: shared object 111: in hint table but not computed list | ||
| 62 | -WARNING: object count mismatch for page 20: hint table = 3; computed = 2 | ||
| 63 | -WARNING: page 20: shared object 110: in hint table but not computed list | ||
| 64 | -WARNING: page 20: shared object 111: in hint table but not computed list | ||
| 65 | -WARNING: object count mismatch for page 21: hint table = 3; computed = 2 | ||
| 66 | -WARNING: page 21: shared object 110: in hint table but not computed list | ||
| 67 | -WARNING: page 21: shared object 111: in hint table but not computed list | ||
| 68 | -WARNING: object count mismatch for page 22: hint table = 3; computed = 2 | ||
| 69 | -WARNING: page 22: shared object 110: in hint table but not computed list | ||
| 70 | -WARNING: page 22: shared object 111: in hint table but not computed list | ||
| 71 | -WARNING: object count mismatch for page 23: hint table = 3; computed = 2 | ||
| 72 | -WARNING: page 23: shared object 110: in hint table but not computed list | ||
| 73 | -WARNING: page 23: shared object 111: in hint table but not computed list | ||
| 74 | -WARNING: object count mismatch for page 24: hint table = 3; computed = 2 | ||
| 75 | -WARNING: page 24: shared object 110: in hint table but not computed list | ||
| 76 | -WARNING: page 24: shared object 111: in hint table but not computed list | ||
| 77 | -WARNING: object count mismatch for page 25: hint table = 3; computed = 2 | ||
| 78 | -WARNING: page 25: shared object 110: in hint table but not computed list | ||
| 79 | -WARNING: page 25: shared object 111: in hint table but not computed list | ||
| 80 | -WARNING: object count mismatch for page 26: hint table = 3; computed = 2 | ||
| 81 | -WARNING: page 26: shared object 110: in hint table but not computed list | ||
| 82 | -WARNING: page 26: shared object 111: in hint table but not computed list | ||
| 83 | -WARNING: object count mismatch for page 27: hint table = 3; computed = 2 | ||
| 84 | -WARNING: page 27: shared object 110: in hint table but not computed list | ||
| 85 | -WARNING: page 27: shared object 111: in hint table but not computed list | ||
| 86 | -WARNING: object count mismatch for page 28: hint table = 3; computed = 2 | ||
| 87 | -WARNING: page 28: shared object 110: in hint table but not computed list | ||
| 88 | -WARNING: page 28: shared object 111: in hint table but not computed list | ||
| 89 | -WARNING: object count mismatch for page 29: hint table = 3; computed = 2 | ||
| 90 | -WARNING: page 29: shared object 110: in hint table but not computed list | ||
| 91 | -WARNING: page 29: shared object 111: in hint table but not computed list | 1 | +WARNING: lin8.pdf: end of first page section (/E) mismatch: /E = 2656; computed = 1768..1770 |
| 2 | +WARNING: lin8.pdf: object count mismatch for page 0: hint table = 7; computed = 4 | ||
| 3 | +WARNING: lin8.pdf: page 0 has shared identifier entries | ||
| 4 | +WARNING: lin8.pdf: page 0: shared object 105: in hint table but not computed list | ||
| 5 | +WARNING: lin8.pdf: object count mismatch for page 1: hint table = 3; computed = 2 | ||
| 6 | +WARNING: lin8.pdf: page 1: shared object 110: in hint table but not computed list | ||
| 7 | +WARNING: lin8.pdf: page 1: shared object 111: in hint table but not computed list | ||
| 8 | +WARNING: lin8.pdf: object count mismatch for page 2: hint table = 3; computed = 2 | ||
| 9 | +WARNING: lin8.pdf: page 2: shared object 110: in hint table but not computed list | ||
| 10 | +WARNING: lin8.pdf: page 2: shared object 111: in hint table but not computed list | ||
| 11 | +WARNING: lin8.pdf: object count mismatch for page 3: hint table = 3; computed = 2 | ||
| 12 | +WARNING: lin8.pdf: page 3: shared object 110: in hint table but not computed list | ||
| 13 | +WARNING: lin8.pdf: page 3: shared object 111: in hint table but not computed list | ||
| 14 | +WARNING: lin8.pdf: object count mismatch for page 4: hint table = 3; computed = 2 | ||
| 15 | +WARNING: lin8.pdf: page 4: shared object 110: in hint table but not computed list | ||
| 16 | +WARNING: lin8.pdf: page 4: shared object 111: in hint table but not computed list | ||
| 17 | +WARNING: lin8.pdf: object count mismatch for page 5: hint table = 3; computed = 2 | ||
| 18 | +WARNING: lin8.pdf: page 5: shared object 110: in hint table but not computed list | ||
| 19 | +WARNING: lin8.pdf: page 5: shared object 111: in hint table but not computed list | ||
| 20 | +WARNING: lin8.pdf: object count mismatch for page 6: hint table = 3; computed = 2 | ||
| 21 | +WARNING: lin8.pdf: page 6: shared object 110: in hint table but not computed list | ||
| 22 | +WARNING: lin8.pdf: page 6: shared object 111: in hint table but not computed list | ||
| 23 | +WARNING: lin8.pdf: object count mismatch for page 7: hint table = 3; computed = 2 | ||
| 24 | +WARNING: lin8.pdf: page 7: shared object 110: in hint table but not computed list | ||
| 25 | +WARNING: lin8.pdf: page 7: shared object 111: in hint table but not computed list | ||
| 26 | +WARNING: lin8.pdf: object count mismatch for page 8: hint table = 3; computed = 2 | ||
| 27 | +WARNING: lin8.pdf: page 8: shared object 110: in hint table but not computed list | ||
| 28 | +WARNING: lin8.pdf: page 8: shared object 111: in hint table but not computed list | ||
| 29 | +WARNING: lin8.pdf: object count mismatch for page 9: hint table = 3; computed = 2 | ||
| 30 | +WARNING: lin8.pdf: page 9: shared object 110: in hint table but not computed list | ||
| 31 | +WARNING: lin8.pdf: page 9: shared object 111: in hint table but not computed list | ||
| 32 | +WARNING: lin8.pdf: object count mismatch for page 10: hint table = 3; computed = 2 | ||
| 33 | +WARNING: lin8.pdf: page 10: shared object 110: in hint table but not computed list | ||
| 34 | +WARNING: lin8.pdf: page 10: shared object 111: in hint table but not computed list | ||
| 35 | +WARNING: lin8.pdf: object count mismatch for page 11: hint table = 3; computed = 2 | ||
| 36 | +WARNING: lin8.pdf: page 11: shared object 110: in hint table but not computed list | ||
| 37 | +WARNING: lin8.pdf: page 11: shared object 111: in hint table but not computed list | ||
| 38 | +WARNING: lin8.pdf: object count mismatch for page 12: hint table = 3; computed = 2 | ||
| 39 | +WARNING: lin8.pdf: page 12: shared object 110: in hint table but not computed list | ||
| 40 | +WARNING: lin8.pdf: page 12: shared object 111: in hint table but not computed list | ||
| 41 | +WARNING: lin8.pdf: object count mismatch for page 13: hint table = 3; computed = 2 | ||
| 42 | +WARNING: lin8.pdf: page 13: shared object 110: in hint table but not computed list | ||
| 43 | +WARNING: lin8.pdf: page 13: shared object 111: in hint table but not computed list | ||
| 44 | +WARNING: lin8.pdf: object count mismatch for page 14: hint table = 3; computed = 2 | ||
| 45 | +WARNING: lin8.pdf: page 14: shared object 110: in hint table but not computed list | ||
| 46 | +WARNING: lin8.pdf: page 14: shared object 111: in hint table but not computed list | ||
| 47 | +WARNING: lin8.pdf: object count mismatch for page 15: hint table = 3; computed = 2 | ||
| 48 | +WARNING: lin8.pdf: page 15: shared object 110: in hint table but not computed list | ||
| 49 | +WARNING: lin8.pdf: page 15: shared object 111: in hint table but not computed list | ||
| 50 | +WARNING: lin8.pdf: object count mismatch for page 16: hint table = 3; computed = 2 | ||
| 51 | +WARNING: lin8.pdf: page 16: shared object 110: in hint table but not computed list | ||
| 52 | +WARNING: lin8.pdf: page 16: shared object 111: in hint table but not computed list | ||
| 53 | +WARNING: lin8.pdf: object count mismatch for page 17: hint table = 3; computed = 2 | ||
| 54 | +WARNING: lin8.pdf: page 17: shared object 110: in hint table but not computed list | ||
| 55 | +WARNING: lin8.pdf: page 17: shared object 111: in hint table but not computed list | ||
| 56 | +WARNING: lin8.pdf: object count mismatch for page 18: hint table = 3; computed = 2 | ||
| 57 | +WARNING: lin8.pdf: page 18: shared object 110: in hint table but not computed list | ||
| 58 | +WARNING: lin8.pdf: page 18: shared object 111: in hint table but not computed list | ||
| 59 | +WARNING: lin8.pdf: object count mismatch for page 19: hint table = 3; computed = 2 | ||
| 60 | +WARNING: lin8.pdf: page 19: shared object 110: in hint table but not computed list | ||
| 61 | +WARNING: lin8.pdf: page 19: shared object 111: in hint table but not computed list | ||
| 62 | +WARNING: lin8.pdf: object count mismatch for page 20: hint table = 3; computed = 2 | ||
| 63 | +WARNING: lin8.pdf: page 20: shared object 110: in hint table but not computed list | ||
| 64 | +WARNING: lin8.pdf: page 20: shared object 111: in hint table but not computed list | ||
| 65 | +WARNING: lin8.pdf: object count mismatch for page 21: hint table = 3; computed = 2 | ||
| 66 | +WARNING: lin8.pdf: page 21: shared object 110: in hint table but not computed list | ||
| 67 | +WARNING: lin8.pdf: page 21: shared object 111: in hint table but not computed list | ||
| 68 | +WARNING: lin8.pdf: object count mismatch for page 22: hint table = 3; computed = 2 | ||
| 69 | +WARNING: lin8.pdf: page 22: shared object 110: in hint table but not computed list | ||
| 70 | +WARNING: lin8.pdf: page 22: shared object 111: in hint table but not computed list | ||
| 71 | +WARNING: lin8.pdf: object count mismatch for page 23: hint table = 3; computed = 2 | ||
| 72 | +WARNING: lin8.pdf: page 23: shared object 110: in hint table but not computed list | ||
| 73 | +WARNING: lin8.pdf: page 23: shared object 111: in hint table but not computed list | ||
| 74 | +WARNING: lin8.pdf: object count mismatch for page 24: hint table = 3; computed = 2 | ||
| 75 | +WARNING: lin8.pdf: page 24: shared object 110: in hint table but not computed list | ||
| 76 | +WARNING: lin8.pdf: page 24: shared object 111: in hint table but not computed list | ||
| 77 | +WARNING: lin8.pdf: object count mismatch for page 25: hint table = 3; computed = 2 | ||
| 78 | +WARNING: lin8.pdf: page 25: shared object 110: in hint table but not computed list | ||
| 79 | +WARNING: lin8.pdf: page 25: shared object 111: in hint table but not computed list | ||
| 80 | +WARNING: lin8.pdf: object count mismatch for page 26: hint table = 3; computed = 2 | ||
| 81 | +WARNING: lin8.pdf: page 26: shared object 110: in hint table but not computed list | ||
| 82 | +WARNING: lin8.pdf: page 26: shared object 111: in hint table but not computed list | ||
| 83 | +WARNING: lin8.pdf: object count mismatch for page 27: hint table = 3; computed = 2 | ||
| 84 | +WARNING: lin8.pdf: page 27: shared object 110: in hint table but not computed list | ||
| 85 | +WARNING: lin8.pdf: page 27: shared object 111: in hint table but not computed list | ||
| 86 | +WARNING: lin8.pdf: object count mismatch for page 28: hint table = 3; computed = 2 | ||
| 87 | +WARNING: lin8.pdf: page 28: shared object 110: in hint table but not computed list | ||
| 88 | +WARNING: lin8.pdf: page 28: shared object 111: in hint table but not computed list | ||
| 89 | +WARNING: lin8.pdf: object count mismatch for page 29: hint table = 3; computed = 2 | ||
| 90 | +WARNING: lin8.pdf: page 29: shared object 110: in hint table but not computed list | ||
| 91 | +WARNING: lin8.pdf: page 29: shared object 111: in hint table but not computed list | ||
| 92 | lin8.pdf: linearization data: | 92 | lin8.pdf: linearization data: |
| 93 | 93 | ||
| 94 | file_size: 24875 | 94 | file_size: 24875 |
| @@ -566,3 +566,4 @@ first_object: 89 | @@ -566,3 +566,4 @@ first_object: 89 | ||
| 566 | first_object_offset: 20067 | 566 | first_object_offset: 20067 |
| 567 | nobjects: 12 | 567 | nobjects: 12 |
| 568 | group_length: 2069 | 568 | group_length: 2069 |
| 569 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/lin9.out
| 1 | -WARNING: page 0 has shared identifier entries | ||
| 2 | -WARNING: page 0: shared object 19: in hint table but not computed list | 1 | +WARNING: lin9.pdf: page 0 has shared identifier entries |
| 2 | +WARNING: lin9.pdf: page 0: shared object 19: in hint table but not computed list | ||
| 3 | lin9.pdf: linearization data: | 3 | lin9.pdf: linearization data: |
| 4 | 4 | ||
| 5 | file_size: 3316 | 5 | file_size: 3316 |
| @@ -102,3 +102,4 @@ Shared Object 5: | @@ -102,3 +102,4 @@ Shared Object 5: | ||
| 102 | group length: 67 | 102 | group length: 67 |
| 103 | Shared Object 6: | 103 | Shared Object 6: |
| 104 | group length: 117 | 104 | group length: 117 |
| 105 | +qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/linearization-bounds-1.out
| @@ -5,5 +5,5 @@ File is linearized | @@ -5,5 +5,5 @@ File is linearized | ||
| 5 | WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 12302): expected endstream | 5 | WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 12302): expected endstream |
| 6 | WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length | 6 | WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length |
| 7 | WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 | 7 | WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 |
| 8 | -WARNING: error encountered while checking linearization data: linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds | 8 | +WARNING: linearization-bounds-1.pdf: error encountered while checking linearization data: linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds |
| 9 | qpdf: operation succeeded with warnings | 9 | qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/linearization-bounds-2.out
| @@ -5,5 +5,5 @@ File is linearized | @@ -5,5 +5,5 @@ File is linearized | ||
| 5 | WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream | 5 | WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream |
| 6 | WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length | 6 | WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length |
| 7 | WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 | 7 | WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 |
| 8 | -WARNING: error encountered while checking linearization data: linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds | 8 | +WARNING: linearization-bounds-2.pdf: error encountered while checking linearization data: linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds |
| 9 | qpdf: operation succeeded with warnings | 9 | qpdf: operation succeeded with warnings |
qpdf/qtest/qpdf/linearization-large-vector-alloc.out
| @@ -5,5 +5,5 @@ File is linearized | @@ -5,5 +5,5 @@ File is linearized | ||
| 5 | WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream | 5 | WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream |
| 6 | WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length | 6 | WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length |
| 7 | WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 | 7 | WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106 |
| 8 | -WARNING: error encountered while checking linearization data: overflow reading bit stream: wanted = 12556; available = 968 | 8 | +WARNING: linearization-large-vector-alloc.pdf: error encountered while checking linearization data: overflow reading bit stream: wanted = 12556; available = 968 |
| 9 | qpdf: operation succeeded with warnings | 9 | qpdf: operation succeeded with warnings |