Logo white

OpenSystemsDevelopment / qpdf

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 4,691
  • Compare
  • Branches 1
  • Tags 0
  • qpdf
  • libqpdf
16 Jul, 2024
2 commits
  • Throw an exception if the root of the pages tree misses the /Kids array
    25e11a44
    m-holger authored
    2024-07-16 14:44:47 +0100  
    Browse Dir »
  • Remove non-dictionary objects from pages tree
    7f2d76b7
    m-holger authored
    2024-07-16 14:35:32 +0100  
    Browse Dir »

13 Jul, 2024
1 commit
  • Add further sanity checks to QPDF::reconstruct_xref ...
    186fca6d
    Run getAllPages as sanity check and throw an exception if too many
    warnings are generated or no pages are found.
    m-holger authored
    2024-07-13 14:51:14 +0100  
    Browse Dir »

11 Jul, 2024
2 commits
  • Further limit size of uncompressed JPEG for fuzzing ...
    722148de
    Try a  limit of 50MB. For very large limits processing time before
    damage is encountered may exceed oss-fuzz limits.
    Add further test cases.
    m-holger authored
    2024-07-11 14:32:22 +0100  
    Browse Dir »
  • Add further sanity check to QPDF::reconstruct_xref ...
    e914bbbb
    If reconstruct_xref generates more than 1000 warnings give up because the
    file is so severely damaged that there is very little point continuing.
    m-holger authored
    2024-07-11 13:25:07 +0100  
    Browse Dir »

10 Jul, 2024
1 commit
  • Add extra sanity check on pages tree ...
    c2c1618e
    Reject non-dictionary Page and Pages objects.
    
    Also add additional qpdf_fuzzer test cases.
    m-holger authored
    2024-07-10 19:03:23 +0100  
    Browse Dir »

09 Jul, 2024
3 commits
  • In Pl_DCT::decompress refactor handling of corrupt data ...
    2b6500ea
    If throw_on_corrupt is set, use a custom implementation of libjeg's
    emit_message procedure to throw an exception when the first corrupt data
    warning is encountered.
    m-holger authored
    2024-07-09 20:55:51 +0100  
    Browse Dir »
  • Add additional sanity check during xref reconstruction ...
    2e378d92
    Check that xref table is not empty after recovery. Empty xref tables
    disable other sanity checks.
    m-holger authored
    2024-07-09 17:01:44 +0100  
    Browse Dir »
  • Fix QPDF::setSuppressWarnings
    7445e0ac
    m-holger authored
    2024-07-09 16:38:02 +0100  
    Browse Dir »

08 Jul, 2024
1 commit
  • Fix Pl_DCT memory limit
    43004e33
    m-holger authored
    2024-07-08 13:31:02 +0100  
    Browse Dir »

06 Jul, 2024
1 commit
  • In QPDF::processXRefIndex check number of objects in subsection is > 0 ...
    c1cd3ec8
    Fixes oss-fuzz 70055
    m-holger authored
    2024-07-06 16:09:50 +0100  
    Browse Dir »

04 Jul, 2024
2 commits
  • Add test case for self-referential object streams ...
    f0ded6bc
    Previous test case was lost in #1221. Test file was created from
    object-stream.pdf by adding a reference to itself into object stream 1 0.
    m-holger authored
    2024-07-04 20:40:47 +0100  
    Browse Dir »
  • Treat corrupt JPEG streams as unfilterable
    edf3509b
    m-holger authored
    2024-07-04 17:06:42 +0100  
    Browse Dir »

03 Jul, 2024
2 commits
  • Add setMaxWarnings rather than using conditional compilation
    598268f6
    Jay Berkenbilt authored
    2024-07-03 15:44:44 +0100  
    Browse Dir »
  • Add DCT decompression config methods in favor of compile-time changes ...
    65bd8bc5
    As a rule, we should avoid conditional compilation is it always causes
    code paths that are sometimes not even seen lexically by the compiler.
    Also, we want the actual code being fuzzed to be as close as possible
    to the real code. Conditional compilation is suitable to handle
    underlying system differences.
    
    Instead, favor configuration using callbacks or other methods that can
    be triggered in the places where they need to be exercised.
    Jay Berkenbilt authored
    2024-07-03 15:43:38 +0100  
    Browse Dir »

02 Jul, 2024
3 commits
  • In QPDF::resolveObjectsInStream avoid creating xref table entries ...
    a367e56a
    Invalid entries are created when objects in the stream do not have
    an existing xref entry.
    m-holger authored
    2024-07-02 01:16:23 +0100  
    Browse Dir »
  • Add additional object id sanity checks ...
    6d640c56
    Ensure objects with impossibly large ids are ignored.
    m-holger authored
    2024-07-02 01:16:23 +0100  
    Browse Dir »
  • Suppress excessive warnings while fuzzing ...
    42c51119
    Add extra fuzz test case and amend memory limit for Pl_DCT.
    m-holger authored
    2024-07-02 01:16:23 +0100  
    Browse Dir »

30 Jun, 2024
1 commit
  • Merge pull request #1227 from m-holger/fuzz6 ...
    9081ac69
    Refine #1225
    m-holger authored
    2024-06-30 01:50:36 +0100  
    Browse Dir »

29 Jun, 2024
2 commits
  • Refine #1225
    18c52640
    m-holger authored
    2024-06-29 14:47:03 +0100  
    Browse Dir »
  • In QPDFOutlineObjectHelper detect loops in direct children ...
    0a081e1f
    Also, add diagnostic messages in qpdf_fuzzer and additional fuzz test case.
    m-holger authored
    2024-06-29 12:38:07 +0100  
    Browse Dir »

28 Jun, 2024
1 commit
  • Limit memory used for JPEG decompression during fuzzing
    c93b149b
    m-holger authored
    2024-06-28 21:15:45 +0100  
    Browse Dir »

27 Jun, 2024
4 commits
  • Merge pull request #1224 from m-holger/fuzz3 ...
    6ed28804
    Fix #1170
    m-holger authored
    2024-06-27 08:47:42 +0100  
    Browse Dir »
  • Merge pull request #1222 from m-holger/fuzz2 ...
    732aab86
    In PL_DCT add option to limit the size of uncompressed corrupt data
    m-holger authored
    2024-06-27 08:20:01 +0100  
    Browse Dir »
  • Fix #1170 ...
    8ae3ef28
    In QPDF::read_xrefEntry add buffer overflow test for first eol character.
    Overlong f1 or f2 entries consisting only of zeros could cause a buffer
    overflow.
    
    Add fuzz testcase 69913.
    m-holger authored
    2024-06-27 08:17:58 +0100  
    Browse Dir »
  • Merge pull request #1221 from m-holger/fuzz ...
    3d569e21
    Refine handling of severely damaged files
    m-holger authored
    2024-06-27 01:18:37 +0100  
    Browse Dir »

26 Jun, 2024
1 commit
  • In PL_DCT add option to limit the size of uncompressed corrupt data ...
    d83cf438
    Also, apply limit in dct_fuzzer
    m-holger authored
    2024-06-26 11:57:29 +0100  
    Browse Dir »

25 Jun, 2024
2 commits
  • In QPDF::reconstruct_xref add sanity check for object ids
    4a8c821e
    m-holger authored
    2024-06-25 15:46:47 +0100  
    Browse Dir »
  • In QPDF check for page tree after reading xref table ...
    e62973d2
    Also add new fuzz test case.
    m-holger authored
    2024-06-25 15:18:54 +0100  
    Browse Dir »

19 Jun, 2024
1 commit
  • Merge pull request #1170 from m-holger/readxref ...
    295f62f0
    Refactor QPDF::parse_xrefEntry
    m-holger authored
    2024-06-19 20:08:44 +0100  
    Browse Dir »

18 Jun, 2024
2 commits
  • Merge pull request #1201 from m-holger/xref_stream ...
    ce5b864c
    QPDF::processXRefStream
    m-holger authored
    2024-06-18 20:21:39 +0100  
    Browse Dir »
  • Handle null form field from annotation (fixes #1189) ...
    5e121c96
    A file that has Widget annotations that can't be mapped back to form
    fields would crash qpdf json.
    Jay Berkenbilt authored
    2024-06-18 08:51:15 -0400  
    Browse Dir »

07 Jun, 2024
1 commit
  • Format code
    16705741
    Jay Berkenbilt authored
    2024-06-07 08:07:51 -0400  
    Browse Dir »

06 Jun, 2024
1 commit
  • Make QPDF::updateObjectMaps iterative
    d17f11e7
    Jay Berkenbilt authored
    2024-06-06 15:22:14 -0400  
    Browse Dir »

22 May, 2024
5 commits
  • Refactor QPDF::processXRefStream ...
    2b0c2da7
    Change the processed Index array to a vector of <first object, number of
    entries> pairs.
    m-holger authored
    2024-05-22 18:53:30 +0100  
    Browse Dir »
  • Add new private method QPDF::processXRefSize
    7477ea78
    m-holger authored
    2024-05-22 17:07:42 +0100  
    Browse Dir »
  • Add new private method QPDF::processXRefW
    f74b28f0
    m-holger authored
    2024-05-22 17:07:37 +0100  
    Browse Dir »
  • Add new private method QPDF::processXRefIndex
    0186d60d
    m-holger authored
    2024-05-22 17:07:28 +0100  
    Browse Dir »
  • Refactor QPDF::procesXRefStream ...
    7aa5027b
    Add closure damaged to create damagedPDF exceptions.
    m-holger authored
    2024-05-22 17:07:16 +0100  
    Browse Dir »

21 May, 2024
1 commit
  • Refactor QPDF::processXRefStream ...
    1737902a
    Tune processing of subsections.
    m-holger authored
    2024-05-21 20:31:52 +0100  
    Browse Dir »