Commit Graph

2839 Commits

Author SHA1 Message Date
Glenn Randers-Pehrson
935676cdad [libpng16] Revert use of png_malloc_array in iCCP chunk reader 2016-08-12 06:58:15 -05:00
Glenn Randers-Pehrson
8ff2ed2fe1 [libng16] Conditionally compile png_inflate(). It's not needed for iCCP
chunk reading.
2016-08-11 20:13:33 -05:00
Glenn Randers-Pehrson
6bdaf38d12 [libpng16] Revert change to png_malloc_array(). It's not needed
now that iCCP profile_length honors PNG_USER_CHUNK_MALLOC_MAX.
2016-08-10 22:26:12 -05:00
Glenn Randers-Pehrson
e018ab98be Merge branch 'libpng16' of git://github.com/jbowler/libpng into libpng16 2016-08-10 20:49:48 -05:00
John Bowler
92a7c79db2 [libpng16] Reject oversized iCCP profile length
The code now validates the ICC profile length against the user chunk limit
before the buffer is allocated, as opposed to doing it while the buffer is read.

This removes the potential to consume virtual address space with a carefully
crafted ICC profile; only an issue on 32-bit systems where a valid profile can
be up to 2^32-4 bytes in length.  libpng never writes beyond the application
supplied limit, but previously it did allocate a buffer of the size specified in
the profile header.  The exploitability of this is almost zero; the address
space is released as soon as the PNG read completes.

Also clean up PNG_DEBUG compile of pngtest.c.

Signed-off-by: John Bowler <jbowler@acm.org>
2016-08-10 15:35:09 -07:00
Glenn Randers-Pehrson
19fefd3a4b [libpng16] Return NULL from png_malloc_array() with a warning instead of calling
png_error() on failure.  Reject oversized iCCP profile immediately.
2016-08-10 12:09:22 -05:00
Glenn Randers-Pehrson
cdc0e74ee6 [libpng16] Bump version to 1.6.25beta01 2016-08-03 21:59:27 -05:00
Glenn Randers-Pehrson
b50d5cea2b [libpng16] Imported from libpng-1.6.24.tar 2016-08-03 21:32:26 -05:00
Glenn Randers-Pehrson
3d3c23b39f [libpng16] Bump version to 1.6.24rc04 2016-08-02 12:58:15 -05:00
Glenn Randers-Pehrson
2bb9ee89fa [libpng16] Imported from libpng-1.6.24rc03.tar 2016-08-02 12:58:07 -05:00
Glenn Randers-Pehrson
96db0fff50 [libpng16] Conditionally compile ARM_NEON headers in pngpriv.h
Updated contrib/intel/intel_sse.patch
2016-08-02 09:31:05 -05:00
Glenn Randers-Pehrson
99663e95f8 [libpng16] Bump version to 1.6.24rc03 2016-08-01 18:00:51 -05:00
Glenn Randers-Pehrson
1153ddccb6 [libpng16] Imported from libpng-1.6.24rc02.tar 2016-08-01 18:00:40 -05:00
Glenn Randers-Pehrson
8d091a640b [libpng16] Conditionally compile png_decompress_chunk(). 2016-08-01 17:50:42 -05:00
Glenn Randers-Pehrson
2c0b7a8ff6 [libpng16] Conditionally compile SSE2 headers in contrib/intel/intel_sse.patch 2016-07-31 21:22:06 -05:00
Glenn Randers-Pehrson
faa3e537e1 [libpng16] Imported from libpng-1.6.24rc01.tar 2016-07-25 07:53:38 -05:00
Glenn Randers-Pehrson
0a5e99d7ee [libpng16] Rebased contrib/intel/intel_sse.patch 2016-07-24 19:39:43 -05:00
Glenn Randers-Pehrson
d1f9149d8a [libpng16] Bump version to 1.6.24beta07 2016-07-19 17:01:50 -05:00
Glenn Randers-Pehrson
ee079481c9 [libpng16] Imported from libpng-1.6.24beta06.tar 2016-07-19 17:00:00 -05:00
Glenn Randers-Pehrson
639b48625f [libpng16] Eliminated unnecessary tests of boolean png_isaligned() vs 0. 2016-07-15 17:22:10 -05:00
Glenn Randers-Pehrson
dd70604cec [libpng16] Fixed more indentation 2016-07-15 11:20:46 -05:00
Glenn Randers-Pehrson
34c783e2fe [libpng16] Fix permission on reindent; add license info to contrib/tools/chkfmt 2016-07-14 18:53:30 -05:00
Glenn Randers-Pehrson
82d0009885 [libpng16] Add PD license to new "reindent" tool; remove unused environment var
I didn't intend to distribute this but it leaked into the libpng16 source,
so here it is.
2016-07-14 17:40:37 -05:00
Glenn Randers-Pehrson
baed0e32f9 [libpng16] Bump version to 1.6.24beta06 2016-07-14 09:55:45 -05:00
Glenn Randers-Pehrson
3c7c436303 [libpng16] Imported from libpng-1.6.24beta05.tar 2016-07-14 09:55:35 -05:00
Glenn Randers-Pehrson
9b14f5f85a [libpng16] Fix a bad indent in pngvalid.c 2016-07-13 17:21:31 -05:00
Glenn Randers-Pehrson
0fd9a249de [libpng16] Update "last changed" dates 2016-07-13 16:29:22 -05:00
Glenn Randers-Pehrson
7a18a2de59 [libpng16] Undo bad indentation change in example.c 2016-07-13 16:26:00 -05:00
Glenn Randers-Pehrson
5d7c7d5132 [libpng16] Fixed a harmless typo in pngwutil.c 2016-07-13 14:45:10 -05:00
Glenn Randers-Pehrson
192e92d681 [libpng16] Fixed some indentation to comply with our coding style. 2016-07-13 14:43:42 -05:00
Glenn Randers-Pehrson
1b9f4817c8 [libpng16] Bump version to 1.6.24beta05 2016-07-08 10:14:50 -05:00
Glenn Randers-Pehrson
d9940f6207 [libpng16] Imported from libpng-1.6.24beta04.tar 2016-07-08 10:14:42 -05:00
Glenn Randers-Pehrson
f7d5419816 [libpng16] Avoid filter-selection heuristic sum calculations in cases where
only one filter is a candidate for selection. This trades off code size (added
png_setup_*_row_only() functions) for speed.
2016-07-08 10:09:25 -05:00
Glenn Randers-Pehrson
9928ee0a52 [libpng16] Bump version to 1.6.24beta04 2016-07-04 09:55:49 -05:00
Glenn Randers-Pehrson
66f796e74c [libpng16] Imported from libpng-1.6.24beta03.tar 2016-07-04 09:55:12 -05:00
Glenn Randers-Pehrson
a3eac818d5 [libpng16] Update CHANGES and ANNOUNCE 2016-07-03 18:10:21 -05:00
John Bowler
cfc19ff1b6 pngcp bug fixes
The fixed size buffer for the file name being processed could have a byte
written beyond the end; a bug where the test was updated without changing the
size of the buffer.  This commit reduces the buffer to the system maximum.

png_getrowbytes could, in theory, return 0; probably only if there is a bug in
libpng but the code now checks.

Signed-off-by: John Bowler <jbowler@acm.org>
2016-07-03 13:49:36 -07:00
Glenn Randers-Pehrson
80495124b2 [libpng16] Don't call png_icc_set_sRGB() when it's not compiled. 2016-07-03 10:28:54 -05:00
Glenn Randers-Pehrson
2c21a4778d [libpng16] Relocated misplaced #endif in png.c sRGB profile checking. 2016-07-02 21:17:56 -05:00
Glenn Randers-Pehrson
14b8dee96f Merge branch 'libpng16' of ssh://git.code.sf.net/p/libpng/code into libpng16 2016-07-02 14:32:37 -05:00
Glenn Randers-Pehrson
11c88033d4 [libpng16] Added "Common linking failures" section to INSTALL 2016-07-02 14:29:29 -05:00
Glenn Randers-Pehrson
25bb30c9b8 [libpng16] Added "Common linking failures" section to INSTALL 2016-07-02 12:00:07 -05:00
John Bowler
54feb0ad2a pngimage: correct #define checking
In libpng 1.7 pngimage needs to check PNG_WRITE_PNG_SUPPORTED (new in 1.7), not
PNG_WRITE_SUPPORTED because png_write_png can be disabled without disabling
PNG_WRITE_SUPPORTED.  Copied the approach from 1.6 pngcp.c (so this still works
in 1.6 as well.)
2016-07-02 08:03:09 -07:00
Glenn Randers-Pehrson
b733c50bc0 [libpng16] Updated CHANGES and ANNOUNCE 2016-07-01 18:42:07 -05:00
John Bowler
a93744423d pngcp.c: correct total time output
Signed-off-by: John Bowler <jbowler@acm.org>
2016-07-01 11:29:58 -07:00
John Bowler
9957c45073 pngcp: add high resolution timing
If PNG_PNGCP_TIMING_SUPPORTED is defined maximal resolution CPU time logging of
png_read_png and png_write_png is enabled via the --time command line option.
This is not on by default but is enabled by contrib/conftests/pngcp.dfa

Signed-off-by: John Bowler <jbowler@acm.org>
2016-07-01 11:29:45 -07:00
John Bowler
0ac91cc657 pngcp: tool to copy PNG files
This adds pngcp to the build together with a pngcp.dfa configuration test; the
test revealed some configuration bugs which are fixed by corrections to the
_SUPPORTED macros.

pngcp builds on all tested configurations and a number of bugs have been fixed
to make this happen relative to the version in libpng 1.7 contrib/examples.
pngcp.dfa will have to be different for 1.7 but pngcp.c should work fine (not
yet tested).  pngcp itself is still missing a usage message; this is a
preliminary version, although since it behaves the same way as 'cp' most unoids
shouldn't have a problem using it correctly.

Signed-off-by: John Bowler <jbowler@acm.org>
2016-07-01 11:27:43 -07:00
Glenn Randers-Pehrson
d9779744f9 [libpng16] Optimized absolute value calculation in filter selection, similar to
code in the PAETH decoder in pngrutil.c. Build with PNG_USE_ABS to use this.
2016-06-29 21:53:57 -05:00
Glenn Randers-Pehrson
ed5a01d922 [libpng16] Update ANNOUNCE 2016-06-23 11:53:31 -05:00
Glenn Randers-Pehrson
d43f93ff93 [libpng16] Bump version to 1.6.24beta03 2016-06-23 11:27:12 -05:00