Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Unparse is admittedly strange, but I'd rather be strange and
consistent, and everything else in the qpdf library uses unparse to
serialize. (If you're reading this, the convention of using "unparse"
comes from the "clu" programming language.)
|
|
Also move tests to libtests.
|
|
|
|
|
|
This fix allows qpdf to compile/test cleanly with gcc 8.
|
|
During periods of intensive operation on a specific file, this method
can reduce the overhead of repeated open/close operations.
|
|
|
|
|
|
ClosedFileInputSource is an input source that keeps the file closed
when not reading it.
|
|
|
|
|
|
Forgot to delete a buffer in the test driver. There was no memory leak
or memory error in any installed code.
|
|
|
|
Specify qpdf libraries before external ones.
Specify LDFLAGS before libraries.
This should eliminate remaining cases of qpdf builds favoring
previously installed versions.
|
|
|
|
Make sure to link from the source tree before linking from the system.
In many environments, this is necessary to allow a newly built qpdf to
link properly instead of trying to link or resolve libraries from an
older installed version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Avoid calling jpeg_mem_src and jpeg_mem_dest. The custom destination
manager writes to the pipeline in smaller chunks to avoid having the
whole image in memory at once. The source manager works directly with
the Buffer object. Using customer managers avoids use of memory source
and destination managers, which are not present in older versions of
libjpeg still in use by some Linux distributions.
|
|
The latter catches underflow/overflow.
|
|
|
|
|
|
Additional testing is added in later commits to be supported by
additional changes in the library.
|
|
|
|
|
|
Preparing to refactor some pattern searching code to use these instead
of their own memchr loops. This should simplify the code that replaces
PCRE.
|
|
|
|
|
|
Some compilers output extra newlines in some cases.
|
|
|
|
For non-encrypted files, determinstic ID generation uses file contents
instead of timestamp and file name. At a small runtime cost, this
enables generation of the same /ID if the same inputs are converted in
the same way multiple times.
|
|
|
|
Add a method to get the current random data provider, and document and
test the method for resetting it.
|
|
|
|
Add new RandomDataProvider object and implement existing random number
generation in terms of that. This enables end users to supply their
own random data providers.
|
|
Thanks to Jiri Popelka from Red Hat for sending the output of a
Coverity run over qpdf.
|
|
fopen was previuosly called wrapped by QUtil::fopen_wrapper, but
QUtil::safe_fopen does this itself, which is less cumbersome.
|
|
|
|
Remove needless calls to open, close, and fileno; call remove instead
of unlink.
|
|
Put a specific comment marker next to every piece of code that MSVC
gives warning 4996 for. This warning is generated for calls to
functions that Microsoft considers insecure or deprecated. This
change is in preparation for fixing all these cases even though none
of them are actually incorrect or insecure as used in qpdf. The
comment marker makes them easier to find so they can be fixed in
subsequent commits.
|
|
Make them safer by avoiding any internal limits and replacing sprintf
with std::ostringstream.
|
|
|
|
|