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
  • include
22 Aug, 2019
1 commit
  • Protect against coding error of re-entrant parsing
    225cd9da
    Jay Berkenbilt authored
    2019-08-22 17:55:16 -0400  
    Browse Dir »

19 Aug, 2019
1 commit
  • Handle invalid name tokens symmetrically for PDF < 1.2 (fixes #332)
    42d396f1
    Jay Berkenbilt authored
    2019-08-19 19:48:27 -0400  
    Browse Dir »

17 Aug, 2019
2 commits
  • Use SparseOHArray in QPDF_Array
    e5f504b6
    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 »

13 Jul, 2019
1 commit
  • Update comment in PointerHolder
    88c19567
    Jay Berkenbilt authored
    2019-07-13 21:34:46 -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 »

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
5 commits
  • 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
10 commits
  • Build with -fvisibility=hidden when supported
    864a546a
    Jay Berkenbilt authored
    2019-06-21 22:29:31 -0400  
    Browse Dir »
  • 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 »
  • 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 »
  • New safe type converters in QIntC
    a66828ca
    Jay Berkenbilt authored
    2019-06-21 13:17:21 -0400  
    Browse Dir »

12 Jun, 2019
1 commit
  • Fix typo (#334)
    b405e5e1
    Marco Scarpetta authored
    2019-06-12 14:21:33 -0400  
    Browse Dir »

11 Mar, 2019
5 commits
  • Fix C++ exception handling when -fvisibility=hidden (#302) ...
    2efec4ce
    Fix C++ exception handling when -fvisibility=hidden
    
    Ensure that QPDFExc and QPDFSystemError are marked visible, so that their typeinfo will not be
    suppressed when -fvisibility=hidden.
    
    Details:
        https://gcc.gnu.org/wiki/Visibility
    jbarlow83 authored
    2019-03-11 18:28:29 -0400  
    Browse Dir »
  • [bcc32 Error] QPDF.hh(803): E2247 'QPDF::Members::resolving' is not accessible ...
    2a852f08
    Full parser context
        QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh
        QPDF.hh(48): class QPDF
        QPDF.hh(1380): decision to instantiate:  QPDF::ResolveRecorder::ResolveRecorder(QPDF *,const QPDFObjGen &)
        --- Resetting parser context for instantiation...
        QPDF.hh(799): parsing:  QPDF::ResolveRecorder::ResolveRecorder(QPDF *,const QPDFObjGen &)
    Thorsten Schöning authored
    2019-03-11 17:07:01 -0400  
    Browse Dir »
  • [bcc32 Error] QPDFObjectHandle.hh(911): E2247 'QPDFObjectHandle::Members::obj' is not accessible ...
    1449d82a
    Full parser context
        Pl_QPDFTokenizer.cc(1): #include ..\..\..\..\src\include\qpdf\Pl_QPDFTokenizer.hh
        Pl_QPDFTokenizer.hh(29): #include ..\..\..\..\src\include\qpdf/QPDFObjectHandle.hh
        QPDFObjectHandle.hh(51): class QPDFObjectHandle
        QPDFObjectHandle.hh(1052): decision to instantiate: PointerHolder<QPDFObject> QPDFObjectHandle::ObjAccessor::getObject(QPDFObjectHandle &)
        --- Resetting parser context for instantiation...
        QPDFObjectHandle.hh(909): parsing: PointerHolder<QPDFObject> QPDFObjectHandle::ObjAccessor::getObject(QPDFObjectHandle &)
    Thorsten Schöning authored
    2019-03-11 17:07:01 -0400  
    Browse Dir »
  • [bcc32 Error] QPDF.hh(223): E2303 Type name expected ...
    86287acf
    Full parser context
        QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh
        QPDF.hh(47): class QPDF
    Thorsten Schöning authored
    2019-03-11 16:57:16 -0400  
    Browse Dir »
  • [bcc32 Error] QPDF.hh(203): E2316 'vector' is not a member of 'std' ...
    9b331404
    Full parser context
        QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh
        QPDF.hh(46): class QPDF
    Thorsten Schöning authored
    2019-03-11 16:57:16 -0400  
    Browse Dir »

31 Jan, 2019
6 commits
  • Spell check
    fec5bb12
    Jay Berkenbilt authored
    2019-01-31 21:41:29 -0500  
    Browse Dir »
  • Make inline image token exactly contain the image data ...
    eb49e07c
    Do not include the trailing EI, and handle cases where EI is not
    preceded by a delimiter. Such cases have been seen in the wild.
    Jay Berkenbilt authored
    2019-01-31 20:28:44 -0500  
    Browse Dir »
  • Externalize inline images (fixes #278)
    5211bcb5
    Jay Berkenbilt authored
    2019-01-31 10:38:13 -0500  
    Browse Dir »
  • Exclude space after ID in image data
    1eb35a35
    Jay Berkenbilt authored
    2019-01-31 10:38:10 -0500  
    Browse Dir »
  • Improve locating inline image's EI ...
    2b6c79bc
    We've actually seen a PDF file in the wild that contained EI
    surrounded by delimiters inside the image data, which confused qpdf's
    naive code. This significantly improves EI detection.
    Jay Berkenbilt authored
    2019-01-31 09:26:37 -0500  
    Browse Dir »
  • Refactor QPDFTokenizer's inline image handling ...
    ec9e310c
    Add a version of expectInlineImage that takes an input source and
    searches for EI. This is in preparation for improving the way EI is
    found. This commit just refactors the code without changing the
    functionality and adds tests to make sure the old and new code behave
    identically.
    Jay Berkenbilt authored
    2019-01-31 09:26:37 -0500  
    Browse Dir »

29 Jan, 2019
1 commit
  • Clean up some private functions
    b776dcd2
    Jay Berkenbilt authored
    2019-01-29 22:14:20 -0500  
    Browse Dir »

28 Jan, 2019
2 commits
  • Clarify documentation for copyForeignObject regarding pages ...
    2d0885bc
    Make explicit that copyForeignObject can be used on page objects and
    will copy them properly but not update the pages tree.
    Jay Berkenbilt authored
    2019-01-28 21:53:55 -0500  
    Browse Dir »
  • Resolve duplicated page objects (fixes #268) ...
    52f9d326
    When linearizing a file or getting the list of all pages in a file,
    detect if the pages tree contains a duplicated page object and, if so,
    shallow copy it. This makes it possible to have a one to one mapping
    of page positions to page objects.
    Jay Berkenbilt authored
    2019-01-28 20:29:58 -0500  
    Browse Dir »

27 Jan, 2019
2 commits
  • Convert pages to form XObjects ...
    623f5b66
    Support conversion of pages to form XObjects and placement of form
    XObjects on pages.
    Jay Berkenbilt authored
    2019-01-27 07:50:30 -0500  
    Browse Dir »
  • Add QPDFObjectHandle::getUniqueResourceName
    8cb24573
    Jay Berkenbilt authored
    2019-01-27 07:50:30 -0500  
    Browse Dir »

25 Jan, 2019
1 commit
  • Handle inheritable page attributes ...
    009767d9
    Add getAttribute for handling inheritable page attributes, and fix
    getPageImages and annotation flattening code to use it.
    Jay Berkenbilt authored
    2019-01-25 22:30:05 -0500  
    Browse Dir »