aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFNumberTreeObjectHelper.cc
AgeCommit message (Collapse)Author
2022-08-07Resolve QPDF{Name,Number} tree helper linker issues (fixes #745)Jay Berkenbilt
This is a guess...I'm not sure exactly why there are linker issues or how to reproduce them.
2022-04-16Use anonymous namespaces for file-private classesJay Berkenbilt
2022-04-16Remove deprecated name/number tree constructorsJay Berkenbilt
Remove the name/number tree object helper constructors that don't take a QPDF&.
2022-04-16Use = default and = delete where possible in classesJay Berkenbilt
2022-04-04Programmatically apply new formatting to codeJay Berkenbilt
Run this: for i in **/*.cc **/*.c **/*.h **/*.hh; do clang-format < $i >| $i.new && mv $i.new $i done
2022-02-05Add operator ""_qpdf for creating QPDFObjectHandle literalsJay Berkenbilt
2022-02-04Add a blank line after the first header included in each sourceJay Berkenbilt
2021-11-04Add range check in QPDFNumberTreeObjectHelper (fuzz issue 37740)Jay Berkenbilt
2021-02-08Make newly created name/number trees indirect objectsJay Berkenbilt
2021-01-26NNTree: rework iterators to be more memory efficientJay Berkenbilt
Keep a std::pair internal to the iterators so that operator* can return a reference and operator-> can work, and each can work without copying pairs of objects around.
2021-01-26name/number trees: removeJay Berkenbilt
2021-01-25name/number trees: insertAfterJay Berkenbilt
2021-01-25name/number trees: newEmpty, increment/decrement end()Jay Berkenbilt
2021-01-25Implement repair and insert for name/number treesJay Berkenbilt
2021-01-24Add new constructors for name/number tree helpersJay Berkenbilt
Add constructors that take a QPDF object so we can issue warnings and create new indirect objects.
2021-01-24Add iterators to name/number tree helpersJay Berkenbilt
2021-01-24Reimplement name and number tree object helpersJay Berkenbilt
Create a computationally and memory efficient implementation of name and number trees that does binary searches as intended by the data structure rather than loading into a map, which can use a great deal of memory and can be very slow.
2019-06-21Fix sign and conversion warnings (major)Jay Berkenbilt
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.
2018-12-21Minor cleanupJay Berkenbilt
2018-12-18Add QPDFNumberTreeObjectHelperJay Berkenbilt