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
22 Aug, 2019
2 commits
  • Remove array null flattening ...
    3f3dbe22
    For some reason, qpdf from the beginning was replacing indirect
    references to null with literal null in arrays even after removing the
    old behavior of flattening scalar references. This seems like a bad
    idea.
    Jay Berkenbilt authored
    2019-08-22 17:55:16 -0400  
    Browse Dir »
  • Protect against coding error of re-entrant parsing
    225cd9da
    Jay Berkenbilt authored
    2019-08-22 17:55:16 -0400  
    Browse Dir »

19 Aug, 2019
4 commits
  • Accept extraneous space before xref (fixes #341)
    ae5bd710
    Jay Berkenbilt authored
    2019-08-19 22:24:53 -0400  
    Browse Dir »
  • Accept extraneous space after stream keyword (fixes #329)
    8a9086a6
    Jay Berkenbilt authored
    2019-08-19 21:43:44 -0400  
    Browse Dir »
  • Improve invalid name token warning message ...
    43f91f58
    This message used to only appear for PDF >= 1.2. The invalid name is
    valid for PDF 1.0 and 1.1. However, since QPDFWriter may write a newer
    version, it's better to detect and warn in all cases. Therefore make
    the warning more informative.
    Jay Berkenbilt authored
    2019-08-19 19:48:27 -0400  
    Browse Dir »
  • Handle invalid name tokens symmetrically for PDF < 1.2 (fixes #332)
    42d396f1
    Jay Berkenbilt authored
    2019-08-19 19:48:27 -0400  
    Browse Dir »

18 Aug, 2019
2 commits
  • Attempt to repair /Type key in pages nodes (fixes #349)
    d9dd99ec
    Jay Berkenbilt authored
    2019-08-18 18:54:37 -0400  
    Browse Dir »
  • Improve efficiency of fixDanglingReferences
    522d2b22
    Jay Berkenbilt authored
    2019-08-18 09:00:40 -0400  
    Browse Dir »

17 Aug, 2019
5 commits
  • Shallow copy arrays without removing sparseness
    5187a3ec
    Jay Berkenbilt authored
    2019-08-17 23:02:41 -0400  
    Browse Dir »
  • Use SparseOHArray in parsing
    bf7c6a80
    Jay Berkenbilt authored
    2019-08-17 23:02:41 -0400  
    Browse Dir »
  • Use SparseOHArray in QPDF_Array
    e5f504b6
    Jay Berkenbilt authored
    2019-08-17 23:02:41 -0400  
    Browse Dir »
  • Refactor QPDF_Array in preparation for using SparseOHArray
    a89d8a06
    Jay Berkenbilt authored
    2019-08-17 23:02:41 -0400  
    Browse Dir »
  • SparseOHArray
    e83f3308
    Jay Berkenbilt authored
    2019-08-17 23:02:41 -0400  
    Browse Dir »

03 Jul, 2019
1 commit
  • Change list to vector for outline helpers (fixes #297) ...
    8f06da75
    This change works around STL problems with Embarcadero C++ Builder
    version 10.2, but std::vector is more common than std::list in qpdf,
    and this is a relatively new API, so an API change is tolerable.
    
    Thanks to Thorsten Schöning <6223655+ams-tschoening@users.noreply.github.com>
    for the fix.
    Thorsten Schöning authored
    2019-07-03 20:08:47 -0400  
    Browse Dir »

25 Jun, 2019
2 commits
  • Convert some cases of logic_error to runtime_error ...
    4db1de97
    There were a few cases that could be caused by invalid input rather
    than bugs in the code which were throwing logic_error instead of
    runtime_error.
    Jay Berkenbilt authored
    2019-06-25 12:43:06 -0400  
    Browse Dir »
  • Convert previously overlooked static cast to QIntC
    201e8798
    Jay Berkenbilt authored
    2019-06-25 12:43:06 -0400  
    Browse Dir »

23 Jun, 2019
1 commit
  • Treat all linearization errors as warnings ...
    04f45cf6
    This also reverts the addition of a new checkLinearization that
    distinguishes errors from warnings. There's no practical distinction
    between what was considered an error and what was considered a
    warning.
    Jay Berkenbilt authored
    2019-06-23 13:45:45 -0400  
    Browse Dir »

22 Jun, 2019
8 commits
  • Handle invalid encryption Length (fixes #333)
    c5ed1b80
    Jay Berkenbilt authored
    2019-06-22 20:57:33 -0400  
    Browse Dir »
  • Allow set*EncryptionParameters before filename iset (fixes #336)
    551dfbf6
    Jay Berkenbilt authored
    2019-06-22 20:57:33 -0400  
    Browse Dir »
  • Provide error message in Windows crypto code (fixes #286) ...
    7bd38a3e
    Thanks to github user zdenop for supplying some additional
    error-handling code.
    Jay Berkenbilt authored
    2019-06-22 17:12:01 -0400  
    Browse Dir »
  • In shippable code, favor smart pointers (fixes #235) ...
    6c39aa87
    Use PointerHolder in several places where manually memory allocation
    and deallocation were being used. This helps to protect against memory
    leaks when exceptions are thrown in surprising places.
    Jay Berkenbilt authored
    2019-06-22 16:57:52 -0400  
    Browse Dir »
  • qpdf: exit 3 for linearization warnings without errors (fixes #50)
    85a3f95a
    Jay Berkenbilt authored
    2019-06-22 16:57:51 -0400  
    Browse Dir »
  • Add QUtil::read_file_into_memory ...
    1bde5c68
    This code was essentially duplicated between test_driver and
    standalone_fuzz_target_runner.
    Jay Berkenbilt authored
    2019-06-22 10:14:25 -0400  
    Browse Dir »
  • QPDFWriter: clean up overloaded functions ...
    658b5bb3
    In a small number of cases, it makes sense to replace an overloaded
    function with a function that takes a default argument. We can do this
    now because we've already broken binary compatibility since the last
    release.
    Jay Berkenbilt authored
    2019-06-22 10:13:27 -0400  
    Browse Dir »
  • Convert remaining public classes to use Members pattern ...
    79f6b482
    Have classes contain only a single private member of type
    PointerHolder<Members>. This makes it safe to change the structure of
    the Members class without breaking binary compatibility. Many of the
    classes already follow this pattern quite successfully. This brings in
    the rest of the class that are part of the public API.
    Jay Berkenbilt authored
    2019-06-22 10:13:27 -0400  
    Browse Dir »

21 Jun, 2019
13 commits
  • Remove broken QPDFTokenizer::expectInlineImage
    45dac410
    Jay Berkenbilt authored
    2019-06-21 22:29:31 -0400  
    Browse Dir »
  • Remove QPDF::copyForeignObject with unused parameter
    25dd3c67
    Jay Berkenbilt authored
    2019-06-21 22:29:31 -0400  
    Browse Dir »
  • Rename QUtil::strcasecmp to QUtil::str_compare_nocase (fixes #242)
    c6cfd645
    Jay Berkenbilt authored
    2019-06-21 22:29:31 -0400  
    Browse Dir »
  • Add missing #include <cstring>
    848351f1
    Jay Berkenbilt authored
    2019-06-21 22:29:31 -0400  
    Browse Dir »
  • Fix bugs found by fuzz tests ...
    b07ad679
    * Several assertions in linearization were not always true; change
      them to run time errors
    * Handle a few cases of uninitialized objects
    * Handle pages with no contents when doing form operations
    * Handle invalid page tree nodes when traversing pages
    Jay Berkenbilt authored
    2019-06-21 17:56:24 -0400  
    Browse Dir »
  • Fix bounds error in utf16_to_utf8 conversion
    a35d4ce9
    Jay Berkenbilt authored
    2019-06-21 17:40:24 -0400  
    Browse Dir »
  • Remove implicit conversion from int/pointer to bool ...
    63a643a3
    This fixes cases of warning C4800 from msvc
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »
  • Fix sign and conversion warnings (major) ...
    d71f05ca
    This makes all integer type conversions that have potential data loss
    explicit with calls that do range checks and raise an exception. After
    this commit, qpdf builds with no warnings when -Wsign-conversion
    -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used
    with MSVC. This significantly reduces the likelihood of potential
    crashes from bogus integer values.
    
    There are some parts of the code that take int when they should take
    size_t or an offset. Such places would make qpdf not support files
    with more than 2^31 of something that usually wouldn't be so large. In
    the event that such a file shows up and is valid, at least qpdf would
    raise an error in the right spot so the issue could be legitimately
    addressed rather than failing in some weird way because of a silent
    overflow condition.
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »
  • Pl_Flate: constructor's out_bufsize is now unsigned int ...
    f40ffc9d
    This is the type we need for the underlying zlib implementation.
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »
  • Change QPDFObjectHandle::pipeStreamData's encode_flags type ...
    da30764b
    Change from unsigned long to int since we pass enumerated type values
    to this field.
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »
  • Add new integer accessors to QPDFObjectHandle
    3608afd5
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »
  • QUtil: add unsigned int/string functions
    42306e2f
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »
  • configure: determine wordsize automatically ...
    21558152
    Based on sizeof(size_t). Assumes 64 if not 32.
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »

20 Jun, 2019
1 commit
  • Appearance streams: some floating point values were truncated ...
    713d9619
    Bounding box X coordinates could be truncated, causing them to be off
    by a fraction of a point. This was most likely not visible, but it was
    still wrong.
    Jay Berkenbilt authored
    2019-06-20 21:32:30 -0400  
    Browse Dir »

15 Jun, 2019
1 commit
  • Fix problems found in fuzz corpus
    eb794887
    Jay Berkenbilt authored
    2019-06-15 17:24:24 -0400  
    Browse Dir »