Jay Berkenbilt
ec7d74a386
Add test case for overflow in PNG filter ( fixes #150 )
2017-08-29 12:33:01 -04:00
Jay Berkenbilt
1868a10f8b
Replace all atoi calls with QUtil::string_to_int
...
The latter catches underflow/overflow.
2017-08-29 12:28:32 -04:00
Jay Berkenbilt
742190bd98
Pl_PNGFilter: disallow columns = 0
2017-08-29 12:28:32 -04:00
Jay Berkenbilt
6d46346eb9
Detect integer overflow/underflow
2017-08-29 12:28:32 -04:00
Jay Berkenbilt
d7d446e0b8
Remove valgrind -- address santizer is better
2017-08-28 22:28:12 -04:00
Jay Berkenbilt
abb3191c32
Add tests for previous memory issues
...
Now that the test suite runs clean with address sanitizer, add some
test cases that previously were used to expose memory errors.
2017-08-28 22:28:12 -04:00
Jay Berkenbilt
e999bbae43
Fix memory leak with bad jpeg data
2017-08-28 22:16:45 -04:00
Jay Berkenbilt
c6872d2c70
Clean up circular references in QPDF_Stream
2017-08-28 22:16:31 -04:00
Jay Berkenbilt
c16aa1aca7
Add testing with clang to release checklist
2017-08-28 13:12:03 -04:00
Jay Berkenbilt
4f8c734d8e
Missing free in some test code
...
There was a missing free causing a memory leak in some test code. The
memory leak was not in library code.
2017-08-26 22:04:49 -04:00
Jay Berkenbilt
728dc9e6d8
Fix error caught by clang
2017-08-26 21:51:17 -04:00
Jay Berkenbilt
dea704f0ab
Pad keys to avoid memory errors ( fixes #147 )
2017-08-26 21:35:59 -04:00
Jay Berkenbilt
021c229331
Fix Pl_Flate memory leak on error ( fixes #148 )
2017-08-25 22:26:53 -04:00
Jay Berkenbilt
ad527a64f9
Parse iteratively to avoid stack overflow ( fixes #146 )
2017-08-25 21:56:45 -04:00
Jay Berkenbilt
85f05cc57f
Detect xref pointer infinite loop ( fixes #149 )
2017-08-25 19:58:31 -04:00
Jay Berkenbilt
2d0c68735b
README note about debugging
2017-08-25 19:58:18 -04:00
Jay Berkenbilt
46728e49cc
Fix from cygwin package maintainer
...
Resolve link error on cygwin
2017-08-24 17:41:30 -04:00
Jay Berkenbilt
278852f5aa
TODO
2017-08-22 19:26:36 -04:00
Jay Berkenbilt
1e52d33822
Bump soname to 18 and version to 7.0.b1
2017-08-22 16:50:48 -04:00
Jay Berkenbilt
84113a572f
Fix doc installation
2017-08-22 16:50:48 -04:00
Jay Berkenbilt
55f19d3e1b
Windows: find DLLs recursively at installation
2017-08-22 16:22:30 -04:00
Jay Berkenbilt
70949cb4cb
Update TODO
2017-08-22 14:22:20 -04:00
Jay Berkenbilt
e452d9dca6
Spell check
2017-08-22 14:22:20 -04:00
Jay Berkenbilt
2a8cd4acdc
Convert README files to markdown
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
6219111ed7
Update references to README files
...
Most of the README files have been renamed. Refer to the new names.
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
dba228452d
Rename README files before converting to markdown
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
83ec09f66c
Do memory checks
...
Slightly improve memory cleanup in Pl_DCT
Make it easier to test with valgrind
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
85ef2cb6fd
README cleanup
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
014d1ab2ed
Reminder to use Windows paths for large file tests
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
fabff0f3ec
Limit token length during xref recovery
...
While scanning the file looking for objects, limit the length of
tokens we allow. This prevents us from getting caught up in reading a
file character by character while digging through large streams.
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
caf5e39c2e
Fix compiler warnings for clang/mac OS X
2017-08-22 14:13:10 -04:00
Jay Berkenbilt
6884ad2ead
Fix logic error in recovery
...
A stray semicolon caused a condition to be incorrectly applied during
stream length recovery.
2017-08-22 07:19:41 -04:00
Jay Berkenbilt
ce435222b2
Push QPDFWriter member variables into a nested class
2017-08-21 22:04:07 -04:00
Jay Berkenbilt
a8c93bd324
Push QPDF member variables into a nested class
...
Pushing member variables into a nested class enables addition of new
member variables without breaking binary compatibility.
2017-08-21 21:35:11 -04:00
Jay Berkenbilt
8288a4eb3a
Update copyright to 2017
2017-08-21 21:18:47 -04:00
Jay Berkenbilt
198856a825
Improve pclm parameter settings
2017-08-21 21:05:48 -04:00
Jay Berkenbilt
8ab52fa558
Combine writePCLm with writeStandard
...
Reduce code duplication
2017-08-21 21:05:48 -04:00
Jay Berkenbilt
9f60a864a0
Combine PCLm header into writeHeader
2017-08-21 21:05:47 -04:00
Jay Berkenbilt
f08ce00e62
Add tests for PCLm
...
Files written in PCLm mode have to be created in a very specific way.
qpdf doesn't know how to create PCLm files from scratch. All it knows
how to do is to write an already valid file in a suitable way.
Therefore there is no command-line support for PCLm.
2017-08-21 21:05:47 -04:00
Jay Berkenbilt
4b908ade70
Update header documentation and ChangeLog entry for PCLm
2017-08-21 21:05:44 -04:00
Jay Berkenbilt
adbcfcff2d
Remove duplicated coverage cases
...
Remove duplicated coverage cases from Sahil's code so existing test
suite passes.
2017-08-21 18:55:02 -04:00
Sahil Arora
b19210fa7d
QPDFWriter: Add setPCLm() and writePCLm() methods
...
* Add support for PCLm using setPCLm() and writePCLm() methods in
QPDFWriter.hh and QPDFWriter.cc
* Add a function writePCLmHeader() for PCLm header in QPDFWriter
2017-08-21 18:55:02 -04:00
Jay Berkenbilt
3b170ab062
Update TODO
2017-08-21 17:52:11 -04:00
Jay Berkenbilt
9f95a37e38
TODO cleanup
2017-08-21 17:48:57 -04:00
Jay Berkenbilt
389396dbbf
Support Windows builds with MSYS2
...
Replace the old msys, mingw-w64, ActiveState perl setup with MSYS2.
This greatly simplifies the Windows build. This was facilitated by the
need to incorporate JPEG.
2017-08-21 17:44:22 -04:00
Jay Berkenbilt
af9e36b507
qtest-driver: support msys2 perl
2017-08-21 17:44:22 -04:00
Jay Berkenbilt
ceae9dc1cb
Enhance pdf-create example
...
pdf-create now creates images with different color spaces and encoding
schemes and verifies them for data correctness.
2017-08-21 17:44:22 -04:00
Jay Berkenbilt
ddc6cf0cf6
Precheck streams by default
...
There is no need for a --precheck-streams option. We can do the
precheck without imposing any penalty, only re-encoding the stream if
it fails the first time.
2017-08-21 17:44:22 -04:00
Jay Berkenbilt
9744414c66
Enable finer grained control of stream decoding
...
This commit adds several API methods that enable control over which
types of filters QPDF will attempt to decode. It also adds support for
/RunLengthDecode and /DCTDecode filters for both encoding and
decoding.
2017-08-21 17:44:22 -04:00
Jay Berkenbilt
ae90d2c485
Implement Pl_DCT pipeline
...
Additional testing is added in later commits to be supported by
additional changes in the library.
2017-08-21 17:44:02 -04:00