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 Oct, 2019
2 commits
  • Add QPDF::getXRefTable()
    46ac3e21
    Masamichi Hosoda authored
    2019-10-22 16:16:16 -0400  
    Browse Dir »
  • Fix /Contents value representation in a signature dictionary ...
    5e0ba126
    Table 8.93 "Entries in a signature dictionary" in PDF 1.5 reference
    describes that the value of Contents entry is a hexadecimal string
    representation when ByteRange is specified.
    
    This commit makes QPDF always uses hexadecimal strings representation
    instead of literal strings for it.
    Masamichi Hosoda authored
    2019-10-22 16:16:16 -0400  
    Browse Dir »

17 Sep, 2019
1 commit
  • Don't assume char is signed in int conversion tests (fixes #361)
    6d81f014
    Jay Berkenbilt authored
    2019-09-17 12:18:09 -0400  
    Browse Dir »

31 Aug, 2019
3 commits
  • Add methods QPDF::anyWarnings and QPDF::closeInputSource
    babd12c9
    Jay Berkenbilt authored
    2019-08-31 15:51:20 -0400  
    Browse Dir »
  • Add remove_file and rename_file to QUtil
    4fa7b1eb
    Jay Berkenbilt authored
    2019-08-31 15:51:04 -0400  
    Browse Dir »
  • spell check
    0787ec96
    Jay Berkenbilt authored
    2019-08-31 08:43:18 -0400  
    Browse Dir »

27 Aug, 2019
2 commits
  • Make popping pipeline stack safer ...
    ba5fb691
    Use destructors to pop the pipeline stack, and ensure that code that
    pops the stack is actually popping the intended thing.
    Jay Berkenbilt authored
    2019-08-27 22:27:47 -0400  
    Browse Dir »
  • Fix fuzz issue 15442 (overflow checking in BufferInputSource)
    ad8081da
    Jay Berkenbilt authored
    2019-08-27 11:26:25 -0400  
    Browse Dir »

24 Aug, 2019
1 commit
  • Track separately whether password was user/owner (fixes #159)
    5da146c8
    Jay Berkenbilt authored
    2019-08-24 11:01:19 -0400  
    Browse Dir »

23 Aug, 2019
2 commits
  • Add flags to control zlib compression level (fixes #113)
    2794bfb1
    Jay Berkenbilt authored
    2019-08-23 20:34:21 -0400  
    Browse Dir »
  • Add ability to set zlib compression level globally
    dac0598b
    Jay Berkenbilt authored
    2019-08-23 20:34:21 -0400  
    Browse Dir »

22 Aug, 2019
4 commits
  • Pass offset and length to ParserCallbacks::handleObject
    3f1ab640
    Jay Berkenbilt authored
    2019-08-22 22:54:29 -0400  
    Browse Dir »
  • Test for direct, rather than resolved nulls in parser ...
    4b2e72c4
    Just because we know an indirect reference is null, doesn't mean we
    shouldn't keep it indirect.
    Jay Berkenbilt authored
    2019-08-22 17:55:16 -0400  
    Browse Dir »
  • Mention name tokens in TokenFilter comments
    4b674b42
    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
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
3 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 »