Commit Graph

3020 Commits

Author SHA1 Message Date
Jay Berkenbilt a6d7b79e65 Bump AppImage to Ubuntu 20.04
18.04 is out of security support, and cmake for 18.04 is no longer
available via kitware's debian repository (or at least fetching it
failed for one build).
2023-05-05 06:47:59 -04:00
Jay Berkenbilt a69fea14ae Add the file to reproduce fuzz issue 57639
It is possible to reproduce the failure with this file following the
instructions with oss-fuzz, though it does not cause a failure in CI.

The failure was introduced in
18c1ffe0df.
2023-05-05 06:45:40 -04:00
Jay Berkenbilt 989819b75f
Merge pull request #947 from m-holger/null
Prevent destruction of shared null objects
2023-04-15 12:30:41 -04:00
m-holger 08d7b56746 Prevent destruction of shared null objects
#863 uses a single null object for nulls that were previously implicit. In
certain circumstances this shared null object gets destroyed (i.e changed
to a QPDF_Destroyed object) when a QPDF object is destroyed.

Modify the QPDF destructor so that null objects get disconnected from the
dying QPDF object but not destroyed to prevent this from happening.
2023-04-11 18:01:14 +01:00
Jay Berkenbilt 7e77af3583
Merge pull request #941 from m-holger/norm
Fix bug in QPDF_Name::normalizeName introduced in #891
2023-04-04 15:08:35 -04:00
m-holger 3f2ebf334b Fix bug in QPDF_Name::normalizeName introduced in #891
'#' was omitted from the list of chars that need to be escaped.
2023-04-04 15:54:54 +01:00
Jay Berkenbilt 230f1ab290
Merge pull request #933 from m-holger/c_job
C-API : expose QPDFJob::createQPDF and writeQPDF
2023-04-02 09:01:26 -04:00
m-holger 41f79bedbc Add new functions qpdfjob_create_qpdf and qpdfjob_write_qpdf 2023-04-02 09:45:19 +01:00
m-holger c78f44798a Add new _qpdf_data constructor taking a std::unique_ptr<QPDF>
Also, move _qpdf_data and to new header filer _qpdf_error to new header
file qpdf-c_impl.hh
2023-04-02 09:24:08 +01:00
m-holger a2edf27b76 Initialize _qpdf_data members 2023-04-02 09:24:08 +01:00
Jay Berkenbilt f8e39253be
Merge pull request #863 from m-holger/array
Refactor QPDF_Array
2023-04-01 11:05:07 -04:00
Jay Berkenbilt 40e4d1f97c
Merge pull request #930 from m-holger/throw
Code tidy re-throwing of exceptions
2023-04-01 09:42:52 -04:00
Jay Berkenbilt 5981b25e98
Merge pull request #932 from m-holger/wr_upo
Tune indentations in QPDFWriter::unparseObject
2023-04-01 09:37:55 -04:00
Jay Berkenbilt ef6f5a97f4
Merge pull request #936 from m-holger/hex
Refactor QUtil::hex_decode
2023-04-01 09:31:28 -04:00
m-holger 0b53b648ab Refactor QPDF_Array::unparse 2023-04-01 13:58:21 +01:00
m-holger c2ab0441b5 Refactor QPDF_Array::getJSON 2023-04-01 13:58:15 +01:00
m-holger a7b6975132 Remove SparseOHArray 2023-04-01 13:58:06 +01:00
m-holger d3f2dc322b Refactor QPDF_Array::copy 2023-04-01 13:57:47 +01:00
m-holger a171ebb942 Refactor QPDF_Array::disconnect 2023-04-01 13:57:35 +01:00
m-holger 0aae54d383 Refactor QPDF_Array::setFromVector 2023-04-01 13:57:28 +01:00
m-holger 5072238867 Refactor QPDF_Array::getAsVector 2023-04-01 13:57:22 +01:00
m-holger e186da1721 Remove SparseOHArray::at, setAt and append 2023-04-01 13:57:15 +01:00
m-holger 1c85e7ece4 Remove SparseOHArray::erase 2023-04-01 13:56:54 +01:00
m-holger 6295da436f Remove SparseOHArray::insert 2023-04-01 13:56:47 +01:00
m-holger 73023bcb5d Change sparse_array test to test sparse QPDF_Arrays 2023-04-01 13:56:37 +01:00
m-holger 182c2480df Refactor QPDF_Array::setItem and rename to setAt 2023-04-01 13:56:29 +01:00
m-holger 4d37389bef Refactor QPDF_Array::eraseItem and rename to erase 2023-04-01 13:56:16 +01:00
m-holger 1bb23d0545 Refactor QPDF_Array::insertItem and rename to insert 2023-04-01 13:56:10 +01:00
m-holger cedb37caa1 Refactor QPDF_Array::appendItem and rename to push_back 2023-04-01 13:55:14 +01:00
m-holger c6179da961 Add new method QPDFValue::checkOwnership 2023-04-01 13:54:44 +01:00
m-holger a1a8f35b63 Refactor QPDF_Array::getItem and rename to at 2023-04-01 13:54:17 +01:00
m-holger 51d350c98c Inline QPDF_Array::getNItems and rename to size 2023-04-01 12:25:15 +01:00
m-holger e6db8ddeba Change SparseOHArray index type to int and elements type to map
There are no reasons other than historical to use size_t.
On balance, using map is more efficient. Hold shared pointers to
QPDFObjects rather than QPDFObjectHandles for consistencey with
QPDF_Array.
2023-04-01 12:25:06 +01:00
m-holger ea5164938e Remove temporary OHArray 2023-04-01 12:24:52 +01:00
m-holger 9e30de8032 Remove temporary OHArray::erase, insert and copy 2023-03-29 13:15:39 +01:00
m-holger 0db65e7912 Remove temporary OHArray::disconnect and setAt 2023-03-29 13:06:26 +01:00
m-holger 1367226002 Remove temporary OHArray::at 2023-03-29 13:00:28 +01:00
m-holger ad2875a4aa Remove temporary OHArray::size, append and remove_last
Also, add const overload of QPDFObjectHandle::getObj
2023-03-29 12:34:07 +01:00
m-holger 8fdc3f0964 Optimize QPDFParser for non-sparse QPDF_Arrays
Stop using nullptr to represent null objects.
Count null array elements and trigger creation of sparse arrays if null count is
greater than 100.
2023-03-29 12:10:19 +01:00
m-holger 18c1ffe0df Change underlying data structure of QPDF_Array in non-sparse mode to std::vector 2023-03-29 12:01:24 +01:00
m-holger 38cf7c1628 Add separate sparse mode to QPDF_Array
Add temporary clone of SparseOHArray  to implement non-sparse mode.
2023-03-29 11:48:21 +01:00
m-holger de29fd56c4 Remove redundant QPDF_Array::addExplicitElementsToList 2023-03-29 10:47:37 +01:00
Jay Berkenbilt b62ad7ecc6
Merge pull request #937 from m-holger/cspell
Remove duplicate entries from cSpell.json
2023-03-26 08:58:19 -04:00
m-holger 0c4200a1f2 Remove duplicate entries from cSpell.json 2023-03-24 11:47:35 +00:00
m-holger 5f4f553c35 Refactor QUtil::hex_decode 2023-03-23 20:25:42 +00:00
m-holger 0795b6952b Add new function QUtil::hex_decode_char 2023-03-23 20:23:37 +00:00
m-holger ce66604290 Tune indentations in QPDFWriter::unparseObject
Set indent differently for qdf and non-qdf files.
Combine with preceding newline for qdf files.
2023-03-21 10:59:05 +00:00
Jay Berkenbilt f89196b6c8
Merge pull request #814 from m-holger/check
Warn if catalog type entry is invalid (fixes #810)
2023-03-20 06:59:47 -04:00
m-holger d8acccd5c8 Warn if catalog type entry is invalid (fixes #810) 2023-03-19 20:07:53 +00:00
m-holger 9c7aa2cbbd Code tidy re-throwing of exceptions
Avoid copying exceptions.
2023-03-19 17:27:39 +00:00