Changelog for libpng16-16-1.6.36-123.1.x86_64.rpm :
Mon Jan 28 13:00:00 2019 Petr Gajdos
- fix arm build [bsc#1121829]
+ libpng-arm-free.patch

Mon Jan 14 13:00:00 2019 Petr Gajdos
- asan_build: build ASAN included
- debug_build: build more suitable for debugging, install pngcp

Mon Dec 31 13:00:00 2018 Petr Gajdos
- update to 1.6.36:
Replaced the remaining uses of png_size_t with size_t (Cosmin)
Fixed the calculation of row_factor in png_check_chunk_length
(reported by Thuan Pham in SourceForge issue #278)
Added missing parentheses to a macro definition
(suggested by \"irwir\" in GitHub issue #216)
Optimized png_do_expand_palette for ARM processors.
Improved performance by around 10-22% on a recent ARM Chromebook.
(Contributed by Richard Townsend, ARM Holdings)
Fixed manipulation of machine-specific optimization options.
(Contributed by Vicki Pfau)
Used memcpy instead of manual pointer arithmetic on Intel SSE2.
(Contributed by Samuel Williams)
Fixed build errors with MSVC on ARM64.
(Contributed by Zhijie Liang)
Fixed detection of libm in CMakeLists.
(Contributed by Cameron Cawley)
Fixed incorrect creation of pkg-config file in CMakeLists.
(Contributed by Kyle Bentley)
Fixed the CMake build on Windows MSYS by avoiding symlinks.
Fixed a build warning on OpenBSD.
(Contributed by Theo Buehler)
Fixed various typos in comments.
(Contributed by \"luz.paz\")
Raised the minimum required CMake version from 3.0.2 to 3.1.
Removed yet more of the vestigial support for pre-ANSI C compilers.
Removed ancient makefiles for ancient systems that have been broken
across all previous libpng-1.6.x versions.
Removed the Y2K compliance statement and the export control
Applied various code style and documentation fixes.
- removed patches

* libpng16-CVE-2018-13785.patch (upstreamed)
- cannot find upstream tarball signature, asked upstream for

Wed Aug 1 14:00:00 2018
- security update:

* CVE-2018-13785 [bsc#1100687]
+ libpng16-CVE-2018-13785.patch

Mon Feb 5 13:00:00 2018
- %{libname} package provides libpng = %{version} again

Wed Jan 31 13:00:00 2018
- check with -j1

Tue Jan 30 13:00:00 2018
- Fix SRPM group and grammar issues.

Tue Jan 30 13:00:00 2018
- removed obsoleted Obsoletes

Sun Jan 28 13:00:00 2018
- update to 1.6.34:

* Removed contrib/pngsuite/i
*.png; some of these were incorrect
and caused test failures.
- includes 1.6.33:

* Added PNGMINUS_UNUSED macro to contrib/pngminus/p
*.c and added
missing parenthesis in contrib/pngminus/pnm2png.c

* Fixed off-by-one error in png_do_check_palette_indexes()

* Initialize png_handler.row_ptr in
to fix shortlived oss-fuzz issue 3234.

* Compute a larger limit on IDAT because some applications write
a deflate buffer for each row

* Use current date (DATE) instead of release-date (RDATE) in last
changed date of contrib/oss-fuzz files.

* Enabled ARM support in CMakeLists.txt

* Fixed incorrect typecast of some arguments to png_malloc() and
png_calloc() that were png_uint_32 instead of png_alloc_size_t

* Use pnglibconf.h.prebuilt when building for ANDROID with cmake

* Initialize memory allocated by png_inflate to zero, using
memset, to stop an oss-fuzz \"use of uninitialized value\"
detection in png_set_text_2() due to truncated iTXt or zTXt

* Initialize memory allocated by png_read_buffer to zero, using
memset, to stop an oss-fuzz \"use of uninitialized value\"
detection in png_icc_check_tag_table() due to truncated iCCP

* Removed redundant tests

* Added an interlaced version of each file in contrib/pngsuite.

* Relocate new memset() call in pngrutil.c

* Add support for loading images with associated alpha in the
Simplified API

* Revert contrib/oss-fuzz/ to libpng-1.6.32

* Initialize png_handler.row_ptr in

* Add end_info structure and png_read_end() to the libpng fuzzer
- includes 1.6.32:

* Avoid possible NULL dereference in png_handle_eXIf when
benign_errors are allowed. Avoid leaking the input buffer

* Eliminated png_ptr->num_exif member from pngstruct.h and added
num_exif to arguments for png_get_eXIf() and png_set_eXIf().

* Added calls to png_handle_eXIf(() in pngread.c and
png_write_eXIf() in pngwrite.c, and made various other fixes
to png_write_eXIf().

* Changed name of png_get_eXIF and png_set_eXIf() to
png_get_eXIf_1() and png_set_eXIf_1(), respectively, to avoid
breaking API compatibility with libpng-1.6.31.

* Updated contrib/libtests/pngunknown.c with eXIf chunk.

* Initialized btoa[] in pngstest.c

* Stop memory leak when returning from png_handle_eXIf() with an

* Replaced local eXIf_buf with info_ptr-eXIf_buf in png_handle_eXIf().

* Update libpng.3 and libpng-manual.txt about eXIf functions.

* Restored png_get_eXIf() and png_set_eXIf() to maintain API

* Removed png_get_eXIf_1() and png_set_eXIf_1().

* Check length of all chunks except IDAT against user limit to
fix an OSS-fuzz issue (Fixes CVE-2017-12652)

* Check length of IDAT against maximum possible IDAT size,
accounting for height, rowbytes, interlacing and zlib/deflate

* Restored png_get_eXIf_1() and png_set_eXIf_1(), because
strlen(eXIf_buf) does not work (the eXIf chunk data can
contain zeroes).

* Revised symlink creation, no longer using deprecated cmake
LOCATION feature

* Fixed five-byte error in the calculation of IDAT maximum
possible size.

* Moved chunk-length check into a png_check_chunk_length()
private function

* Moved bad pngs from tests to contrib/libtests/crashers

* Moved testing of bad pngs into a separate
tests/pngtest-badpngs script

* Added the --xfail (expected FAIL) option to pngtest.c. It
writes XFAIL in the output but PASS for the libpng test.

* Require cmake-3.0.2 in CMakeLists.txt

* Fix \"const\" declaration info_ptr argument to png_get_eXIf_1()
and the num_exif argument to png_get_eXIf_1()

* Added \"eXIf\" to \"chunks_to_ignore[]\" in png_set_keep_unknown_chunks().

* Added huge_IDAT.png and empty_ancillary_chunks.png to

* Make pngtest --strict, --relax, --xfail options imply -m

* Removed unused chunk_name parameter from png_check_chunk_length().

* Relocated setting free_me for eXIf data, to stop an OSS-fuzz\'

* Initialize profile_header[] in png_handle_iCCP() to fix
OSS-fuzz issue.

* Initialize png_ptr->row_buf[0] to 255 in png_read_row() to fix
OSS-fuzz UMR.

* Attempt to fix a UMR in png_set_text_2() to fix OSS-fuzz issue.

* Increase minimum zlib stream from 9 to 14 in png_handle_iCCP(),
to account for the minimum \'deflate\' stream, and relocate the
test to a point after the keyword has been read.

* Check that the eXIf chunk has at least 2 bytes and begins with
\"II\" or \"MM\".

* Added a set of \"huge_xxxx_chunk.png\" files to
contrib/testpngs/crashers, one for each known chunk type, with
length = 2GB-1.

* Check for 0 return from png_get_rowbytes() and added some
(size_t) typecasts in contrib/pngminus/
*.c to stop some Coverity
issues (162705, 162706, and 162707).

* Renamed chunks in contrib/testpngs/crashers to avoid having
files whose names differ only in case; this causes problems with
some platforms

* Added contrib/oss-fuzz directory which contains files used by
the oss-fuzz project
- cleanup with spec-cleaner

Mon Aug 7 14:00:00 2017
- update to 1.6.31:

* Guard the definition of _POSIX_SOURCE in pngpriv.h.

* Revised pngpriv.h to work around failure to compile

* Added \"Requires: zlib\" to

* Added special case for FreeBSD in arm/filter_neon.S.

* Changed \"int\" to \"png_size_t\" in intel/filter_sse2.c to prevent
possible integer overflow.

* Added eXIf chunk support.
- remove upstreamed

Wed Jul 19 14:00:00 2017
- Drop png-version-info-only.patch, it has no effect after applying
Both patches achieve the same, prefer the upstream version

Fri Jul 14 14:00:00 2017
- Add 0001-libpng16-Revised-pngpriv.h-to-use-PNG_VERSION_INFO_O.patch
Fix build on ARM

Mon Jul 10 14:00:00 2017
- png-version-info-only.patch: fix missing PNG_VERSION_INFO_ONLY check

Fri Jun 30 14:00:00 2017
- update to 1.6.30:
Revised documentation of png_get_error_ptr() in the libpng manual.
Document need to check for integer overflow when allocating a pixel
buffer for multiple rows in contrib/gregbook, contrib/pngminus,
example.c, and in the manual (suggested by Jaeseung Choi). This
is similar to the bug reported against pngquant in CVE-2016-5735.
Check for integer overflow in contrib/visupng and contrib/tools/genpng.
Do not double evaluate CMAKE_SYSTEM_PROCESSOR in CMakeLists.txt.
Avoid writing an empty IDAT when the last IDAT exactly fills the
compression buffer (bug report by Brian Baird). This bug was
introduced in libpng-1.6.0.
Add a reference to the site in README.

Thu Mar 16 13:00:00 2017
- update to 1.6.29:
Moved SSE2 optimization code into the main libpng source directory.
Configure libpng with \"configure --enable-intel-sse\" or compile
libpng with \"-DPNG_INTEL_SSE\" in CPPFLAGS to enable it.
Added code for PowerPC VSX optimisation (Vadim Barkov).
Avoid potential overflow of shift operations in png_do_expand() (Aaron Boxer).

Fri Jan 6 13:00:00 2017
- update to 1.6.28: fix build issues

Mon Jan 2 13:00:00 2017
- update to 1.6.27: fixes CVE-2016-10087

Thu Oct 20 14:00:00 2016
- update to 1.6.26:
Fixed handling zero length IDAT in pngfix (bug report by Agostino Sarubbo,
bugfix by John Bowler).
Do not issue a png_error() on read in png_set_pCAL() because
png_handle_pCAL has allocated memory that libpng needs to free.
Issue a png_benign_error instead of a png_error on ADLER32 mismatch
while decoding compressed data chunks.
Changed PNG_ZLIB_VERNUM to ZLIB_VERNUM in pngpriv.h, pngstruct.h, and
If CRC handling of critical chunks has been set to PNG_CRC_QUIET_USE,
ignore the ADLER32 checksum in the IDAT chunk as well as the chunk CRCs.
Issue png_benign_error() on ADLER32 checksum mismatch instead of
Updated the documentation about CRC and ADLER32 handling.
Fixed offsets in contrib/intel/intel_sse.patch
Changed integer constant 4294967294 to unsigned 4294967294U in pngconf.h
to avoid a signed/unsigned compare in the preprocessor.
Use zlib- inflateValidate() instead of inflateReset2() to
optionally avoid ADLER32 evaluation.

Thu Sep 1 14:00:00 2016
- update to 1.6.25:
Reject oversized iCCP profile immediately.
Conditionally compile png_inflate().
Don\'t install pngcp; it conflicts with pngcp in the pngtools package.
Added MIPS support (Mandar Sahastrabuddhe <

Thu Aug 4 14:00:00 2016
- update to 1.6.24:
Avoid potential overflow of the PNG_IMAGE_SIZE macro.
Correct filter heuristic overflow handling.
Use a more efficient absolute value calculation on SSE2.
Added pngcp.
etc. see ANNOUNCE

Wed Aug 3 14:00:00 2016
- Update to new upstream release 1.6.23

* Fixes a potential memleak in png_set_tRNS.

* Fixed the progressive reader to handle empty first IDAT
chunk properly.

* Added tests in pngvalid.c to check zero-length IDAT chunks
in various positions.

* Fixed the sequential reader to handle these more robustly.

* Corrected progressive read input buffer in pngvalid.c.

* Moved sse2 prototype from pngpriv.h to

* Fixed undefined behavior in png_push_save_buffer().
Do not call memcpy() with a null source, even if count is zero.

* Fixed bad link to RFC2083 in png.5.

Thu May 26 14:00:00 2016
- update to 1.6.22:
Added a png_image_write_to_memory() API and a number of assist macros
to allow an application that uses the simplified API write to bypass
stdio and write directly to memory.
Relaxed limit checks on gamma values in pngrtran.c. As suggested in
the comments gamma values outside the range currently permitted
by png_set_alpha_mode are useful for HDR data encoding. These values
are already permitted by png_set_gamma so it is reasonable caution to
extend the png_set_alpha_mode range as HDR imaging systems are starting
to emerge.
Restored \"& 0xff\" in png_save_uint_16() and png_save_uint_32() that
were accidentally removed from libpng-1.6.17.
Changed PNG_INFO_cHNK and PNG_FREE_cHNK from 0xnnnn to 0xnnnnU in png.h
(Robert C. Seacord).
Added INTEL-SSE2 support (Mike Klein and Matt Sarett, Google, Inc.).
SSE filter speed improvements for bpp=3:
memcpy-free implementations of load3() / store3().
Added PNG_FAST_FILTERS macro (defined as

Sun Jan 17 13:00:00 2016
- Update to new upstream release 1.6.21

* Widened the \'limit\' check on the internally calculated error limits in
the \'DIGITIZE\' case (the code used prior to 1.7 for rgb_to_gray error
checks) and changed the check to only operate in non-release builds
(base build type not RC or RELEASE.)

* Fixed undefined behavior in pngvalid.c, undefined because
(png_byte) << shift is undefined if it changes the signed bit
(because png_byte is promoted to int). The libpng exported functions
png_get_uint_32 and png_get_uint_16 handle this.

Thu Dec 3 13:00:00 2015
- update to 1.6.20:
Avoid potential pointer overflow/underflow in png_handle_sPLT() and
png_handle_pCAL() (Bug report by John Regehr).
Fixed incorrect implementation of png_set_PLTE() that uses png_ptr
not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126
Backported tests from libpng-1.7.0beta69.
Fixed an error in handling of bad zlib CMINFO field in pngfix, found by
American Fuzzy Lop, reported by Brian Carpenter. inflate() doesn\'t
immediately fault a bad CMINFO field; instead a \'too far back\' error
happens later (at least some times). pngfix failed to limit CMINFO to
the allowed values but then assumed that window_bits was in range,
triggering an assert. The bug is mostly harmless; the PNG file cannot
be fixed.
In libpng 1.6 zlib initialization was changed to use the window size
in the zlib stream, not a fixed value. This causes some invalid images,
where CINFO is too large, to display \'correctly\' if the rest of the
data is valid. This provides a workaround for zlib versions where the
error arises (ones that support the API change to use the window size
in the stream).

Fri Nov 13 13:00:00 2015
- update to 1.6.19:
Fixed potential leak of png_pixels in contrib/pngminus/pnm2png.c
Fixed uninitialized variable in contrib/gregbook/rpng2-x.c
Fixed the recently reported 1\'s complement security issue.
Fixed png_save_int_32 when int is not 2\'s complement by replacing
the value that is illegal in the PNG spec, in both signed and
unsigned values, with 0.
etc., see ANNOUNCE and CHANGES for details
- removed: libpng-rgb_to_gray-checks.patch (upstreamed)

Fri Aug 7 14:00:00 2015
- drop unknown configure switch

Wed Apr 1 14:00:00 2015
- Fixed rgb_to_gray checks and added tRNS checks to pngvalid.c.
+ libpng-rgb_to_gray-checks.patch

Mon Mar 30 14:00:00 2015
- updated to 1.6.17:
Corrected the width limit calculation in png_check_IHDR().
Removed user limits from pngfix. Also pass NULL pointers to
png_read_row to skip the unnecessary row de-interlace stuff.
Implement previously untested cases of libpng transforms in pngvalid.c
Fixed byte order in 2-byte filler, in png_do_read_filler().
Made the check for out-of-range values in png_set_tRNS() detect
values that are exactly 2^bit_depth, and work on 16-bit platforms.
Merged some parts of libpng-1.6.17beta01 and libpng-1.7.0beta47.
Added #ifndef __COVERITY__ where needed in png.c, pngrutil.c and
pngset.c to avoid warnings about dead code.
Do not build png_product2() when it is unused.
Display user limits in the output from pngtest.
Eliminated the PNG_SAFE_LIMITS macro and restored the 1-million-column
and 1-million-row default limits in pnglibconf.dfa, that can be reset
by the user at build time or run time. This provides a more robust
defense against DOS and as-yet undiscovered overflows.
Allow user to call png_get_IHDR() with NULL arguments (Reuben Hawkins).
Moved png_set_filter() prototype into a PNG_WRITE_SUPPORTED block
of png.h.
Free the unknown_chunks structure even when it contains no data.
Fixed simplified 8-bit-linear to sRGB alpha. The calculated alpha
value was wrong. It\'s not clear if this affected the final stored
value; in the obvious code path the upper and lower 8-bits of the
alpha value were identical and the alpha was truncated to 8-bits
rather than dividing by 257 (John Bowler).

Tue Jan 13 13:00:00 2015
- build with PNG_SAFE_LIMITS_SUPPORTED [bnc#912076], [bnc#912929]

Mon Dec 29 13:00:00 2014
- updated to 1.6.16:

* Restored a test on width that was removed from png.c at libpng-1.6.9
(Bug report by Alex Eubanks).

* Fixed an overflow in png_combine_row with very wide interlaced images.

Thu Nov 20 13:00:00 2014
- updated to 1.6.15:

* Avoid out-of-bounds memory access in png_user_version_check().

* Fixed incorrect handling of the iTXt compression.

* Free all allocated memory in pngimage.

* Fixed array size calculations to avoid warnings.
etc. see ANNOUNCE

Fri Aug 22 14:00:00 2014
- updated to 1.6.13: a \"cleanup\" release that have no security
fixes or new features.

Thu Jun 12 14:00:00 2014
- updated to 1.6.12:

* bugfixes, almost build-related only

Fri Jun 6 14:00:00 2014
- updated to 1.6.11:

* fixed CVE-2014-0333

* other bugfixes
- removed libpng16-1.6.9-CVE-2014-0333.patch (upstreamed)

Tue Mar 4 13:00:00 2014
- fixed CVE-2014-0333 [bnc#866298]
- added patches:

* libpng16-1.6.6-CVE-2014-0333.patch

Fri Feb 7 13:00:00 2014
- updated to 1.6.9:
Bookkeeping: Moved functions around (no changes). Moved transform
function definitions before the place where they are called so that
they can be masde static. Move the intrapixel functions and the
grayscale palette builder out of the png?tran.c files. The latter
isn\'t a transform function and is no longer used internally, and the
former MNG specific functions are better placed in pngread/pngwrite.c
Made transform implementation functions static. This makes the internal
functions called by png_do_{read|write}_transformations static. On an
x86-64 DLL build (Gentoo Linux) this reduces the size of the text
segment of the DLL by 1208 bytes, about 0.6%. It also simplifies
maintenance by removing the declarations from pngpriv.h and allowing
easier changes to the internal interfaces.
Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
in the tar distributions.
Added checks for libpng 1.5 to pngvalid.c. This supports the use of
this version of pngvalid in libpng 1.5
Merged with pngvalid.c from libpng-1.7 changes to create a single
Merged pngrio.c, pngtrans.c, pngwio.c, and pngerror.c with libpng-1.7.0
Merged libpng-1.7.0 changes to make no-interlace configurations work
with test programs.
Revised pngvalid.c to support libpng 1.5, which does not support the
PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate
in pngvalid.c
Allow unversioned links created on install to be disabled in configure.
In configure builds \'make install\' changes/adds links like png.h
and libpng.a to point to the newly installed, versioned, files (e.g.
libpng17/png.h and libpng17.a). Three new configure options and some
rearrangement of allow creation of these links to be
Removed potentially misleading warning from png_check_IHDR().
Updated scripts/makefile.
* to use CPPFLAGS (Cosmin).
Added clang attribute support (Cosmin).

Fri Dec 20 13:00:00 2013
- updated to 1.6.8:
Changed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpread.c to
[#]ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED to be consistent with
what is in pngpriv.h.
Moved prototype for png_handle_unknown() in pngpriv.h outside of
the #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED/#endif block.
Enabled WRITE_INVERT and WRITE_PACK in contrib/pngminim/encoder.
Fixed pngvalid \'fail\' function declaration on the Intel C Compiler.
This reverts to the previous \'static\' implementation and works round
the \'unused static function\' warning by using PNG_UNUSED().
Handle zero-length PLTE chunk or NULL palette with png_error()
instead of png_chunk_report(), which by default issues a warning
rather than an error, leading to later reading from a NULL pointer
(png_ptr->palette) in png_do_expand_palette(). This is CVE-2013-6954
and VU#650142.

Mon Dec 2 13:00:00 2013
- png_fix macro doesn\'t leave
*.png.fixed (which happened for correct
PNGs) [bnc#852862]

Fri Nov 15 13:00:00 2013
- updated to 1.6.7:

* Revised unknown chunk code to correct several bugs in the
NO_SAVE_/NO_WRITE combination

* Check user callback behavior in pngunknown.c. Previous versions
compiled if SAVE_UNKNOWN was not available but did nothing since the
callback was never implemented.

* Merged pngunknown.c with 1.7 version and back ported 1.7

* Revised pngvalid to generate size images with as many filters as
it can manage, limited by the number of rows.

* ARM improvements/fixes

Wed Sep 25 14:00:00 2013
- updated to 1.6.6:

* fix arm build

Thu Sep 12 14:00:00 2013
- updated to 1.6.4:

* Added information about png_set_options() to the manual.

* Delay calling png_init_filter_functions() until a row with nonzero
filter is found.

* Fixed inconsistent conditional compilation of
png_chunk_unknown_handling() prototype, definition, and usage.
Made it depend on PNG_HANDLE_AS_UNKNOWN_SUPPORTED everywhere.

Fri Aug 30 14:00:00 2013
- remove gpg-offline usage, libpng16 is too low in the build chain

Thu Aug 8 14:00:00 2013
- png-fix-too-far-back was actually renamed to pngfix. Adjusted rpm
macro names accordingly, %png_fix and %png_fix_dir.

Tue Aug 6 14:00:00 2013
- updated to 1.6.3:

* Added png-fix-itxt and png-fix-too-far-back to the built programs and
removed warnings from the source code and timepng that are revealed as
a result.
=> new subpackage tools, created rpm macros

Fri Jun 21 14:00:00 2013
- Build with LFS_CFLAGS in 32 bit archs otherwise calls such
as png_image_begin_read_from_file() or png_image_write_to_file()
will fail to read/write huge images.
- Build with Full RELRO as this library is a possible consumer
of malicuous images/files.

Fri Apr 26 14:00:00 2013
- updated to 1.6.2:
Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling.
Fixed incorrect warning of excess deflate data. End condition - the
warning would be produced if the end of the deflate stream wasn\'t read
in the last row. The warning is harmless.
Corrected the test on user transform changes on read. It was in the
png_set of the transform function, but that doesn\'t matter unless the
transform function changes the rowbuf size, and that is only valid if
transform_info is called.
Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c
(Flavio Medeiros).
Corrected length written to uncompressed iTXt chunks (Samuli Suominen).
Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length
written by libpng-1.6.0 and 1.6.1.
Disallow storing sRGB information when the sRGB is not supported.
Merge pngtest.c with libpng-1.7.0

Tue Apr 2 14:00:00 2013
- conflict with libpng12-compat-devel-32bit and libpng15-compat-devel-32bit

Thu Mar 28 13:00:00 2013
- updated to 1.6.1:
Made sRGB check numbers consistent.
Use parentheses more consistently in \"#if defined(MACRO)\" tests.
Reenabled code to allow zero length PLTE chunks for MNG.
Fixed ALIGNED_MEMORY support.
Avoid a possible memory leak in contrib/gregbook/readpng.c
Better documentation of unknown handling API interactions.
Corrected simplified API default gamma for color-mapped output, added
a flag to change default. In 1.6.0 when the simplified API was used
to produce color-mapped output from an input image with no gamma
information the gamma assumed for the input could be different from
that assumed for non-color-mapped output. In particular 16-bit depth
input files were assumed to be sRGB encoded, whereas in the \'direct\'
case they were assumed to have linear data. This was an error. The
fix makes the simplified API treat all input files the same way and
adds a new flag to the png_image::flags member to allow the
application/user to specify that 16-bit files contain sRGB data
rather than the default linear.
etc., see ANNOUNCE or CHANGES for details
- dropped upstreamed

Mon Mar 18 13:00:00 2013
- allow zero length PLTE chunks
(fixes GraphicsMagick testsuite)

Mon Mar 4 13:00:00 2013
- remove clean section

Thu Feb 14 13:00:00 2013
- updated to 1.6.0
- changes from 1.5.x to 1.6.x:

* new simplified api added:
read functions
write functions

* possibility to configure libpng to prefix all exported symbols
(PNG_PREFIX macro)

* no longer include string.h in png.h

* deprecated api:
png_convert_to_rfc1123() which has been replaced
with png_convert_to_rfc1123_buffer()

* removed api:

* signatures of many exported functions were changed, such that
png_structp became png_structrp or png_const_structrp
png_infop became png_inforp or png_const_inforp
where \"rp\" indicates a \"restricted pointer\".
- for more details see section XII of libpng-manual.txt or ANNOUNCE

Mon Jan 14 13:00:00 2013
- updated to 1.6.0beta37

Tue Nov 20 13:00:00 2012
- updated to 1.6.0beta31

Wed Oct 24 14:00:00 2012
- Add missing baselib requires for compat-devel-32bit

Mon Oct 15 14:00:00 2012
- updated to 1.6.0beta29

Wed Jul 11 14:00:00 2012
- updated to 1.6.0beta26

Fri Jun 15 14:00:00 2012
- updated to 1.6.0beta24

Thu Mar 29 14:00:00 2012
- updated to 1.6.0beta20

Wed Mar 14 13:00:00 2012
- updated to 1.6.0beta17

Mon Feb 20 13:00:00 2012
- updated to 1.6.0beta12

Mon Jan 9 13:00:00 2012
- updated to 1.6.0beta04

Mon Dec 19 13:00:00 2011
- updated to 1.5.7:
Added support for ARM processor (Mans Rullgard)
Fixed bug in pngvalid on early allocation failure; fixed type cast in
pngmem.c; pngvalid would attempt to call png_error() if the allocation
of a png_struct or png_info failed. This would probably have led to a
crash. The pngmem.c implementation of png_malloc() included a cast
to png_size_t which would fail on large allocations on 16-bit systems.
Fix for the preprocessor of the Intel C compiler. The preprocessor
splits adjacent AATT signs with a space; this changes the concatentation
token from AATT-AATT-AATT to PNG_JOIN; that should work with all compiler
Paeth filter speed improvements from work by Siarhei Siamashka. This
changes the \'Paeth\' reconstruction function to improve the GCC code
generation on x86. The changes are only part of the suggested ones;
just the changes that definitely improve speed and remain simple.
The changes also slightly increase the clarity of the code.
Check compression_type parameter in png_get_iCCP and remove spurious
casts. The compression_type parameter is always assigned to, so must
be non-NULL. The cast of the profile length potentially truncated the
value unnecessarily on a 16-bit int system, so the cast of the (byte)
compression type to (int) is specified by ANSI-C anyway.
Fixed FP division by zero in pngvalid.c; the \'test_pixel\' code left
the sBIT fields in the test pixel as 0, which resulted in a floating
point division by zero which was irrelevant but causes systems where
FP exceptions cause a crash. Added code to pngvalid to turn on FP
exceptions if the appropriate glibc support is there to ensure this is
tested in the future.
Updated scripts/pnglibconf.mak and scripts/makefile.std to handle the
new PNG_JOIN macro.
Added versioning to pnglibconf.h comments.
Simplified read/write API initial version; basic read/write tested on
a variety of images, limited documentation (in the header file.)
Installed more accurate linear to sRGB conversion tables. The slightly
modified tables reduce the number of 16-bit values that
convert to an off-by-one 8-bit value. The \"makesRGB.c\" code that was used
to generate the tables is now in a contrib/sRGBtables sub-directory.
etc. see CHANGES

Thu Dec 1 13:00:00 2011
- Name field shouldn\'t contain a macro

Thu Dec 1 13:00:00 2011
- add libtool as buildrequire to avoid implicit dependency

Thu Nov 3 13:00:00 2011
- updated to 1.5.6:
Fixed some 64-bit type conversion warnings in pngrtran.c
Moved row_info from png_struct to a local variable.
The various interlace mask arrays have been made into arrays of
bytes and made PNG_CONST and static (previously some arrays were
marked PNG_CONST and some weren\'t).
Additional checks have been added to the transform code to validate the
pixel depths after the transforms on both read and write.
Removed some redundant code from pngwrite.c, in png_desgtroy_write_struct().
Changed chunk reading/writing code to use png_uint_32 instead of png_byte[4].
This removes the need to allocate temporary strings for chunk names on
the stack in the read/write code. Unknown chunk handling still uses the
string form because this is exposed in the API.
Added a note in the manual the png_read_update_info() must be called only
once with a particular info_ptr.
Revised to report FAIL when pngtest fails.
Added \"--strict\" option to pngtest, to report FAIL when the failure is
only because the resulting valid files are different.
Revised CMakeLists.txt to work with mingw and removed some material from
CMakeLists.txt that is no longer useful in libpng-1.5.
Fixed typo in and (\"-M Wl\" should be \"-M -Wl\").\"
Speed up png_combine_row() for interlaced images. This reduces the generality
of the code, allowing it to be optimized for Adam7 interlace. The masks
passed to png_combine_row() are now generated internally, avoiding
some code duplication and localizing the interlace handling somewhat.
Align png_struct::row_buf - previously it was always unaligned, caused by
a bug in the code that attempted to align it; the code needs to subtract
one from the pointer to take account of the filter byte prepended to
each row.
Optimized png_combine_row() when rows are aligned. This gains a small
percentage for 16-bit and 32-bit pixels in the typical case where the
output row buffers are appropriately aligned. The optimization was not
previously possible because the png_struct buffer was always misaligned.
Removed two redundant tests for unitialized row.
Fixed a relatively harmless memory overwrite in compressed text writing
with a 1 byte zlib buffer.
Add ability to call png_read_update_info multiple times to pngvalid.c
Fixes for multiple calls to png_read_update_info. These fixes attend to
most of the errors revealed in pngvalid, however doing the gamma work
twice results in inaccuracies that can\'t be easily fixed. There is now
a warning in the code if this is going to happen.
Turned on multiple png_read_update_info in pngvalid transform tests.
Prevent libpng from overwriting unused bits at the end of the image when
it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would
overwrite the partial byte at the end of each row if the row width was not
an exact multiple of 8 bits and the image is not interlaced.
Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row
(Mans Rullgard).
Changed misleading \"Missing PLTE before cHRM\" warning to \"Out of place cHRM\"
Added PNG_LSR() and PNG_LSL() macros to defend against buggy compilers that
evaluate non-taken code branches and complain about out-of-range shifts.
Renamed the local variable \'byte\' because it appears in a MSYS header
Added #define PNG_ALIGN_TYPE PNG_ALIGN_NONE to contrib/pngminim/

Mon Sep 26 14:00:00 2011
- updated to 1.5.5, fixes:

* CVE-2011-3328 [bnc#720017]

Tue Jul 26 14:00:00 2011
- updated to 1.5.4, fixes:

* CVE-2011-2501 [bnc#702578]

* CVE-2011-2690 [bnc#706387]

* CVE-2011-2691 [bnc#706388]

* CVE-2011-2692 [bnc#706389]

Thu Mar 31 14:00:00 2011
- updated to 1.5.2:

* Turned on interlace handling in png_read_png().

* Fixed gcc pendantic warnings.

* Fixed png_get_current_row_number() in the interlaced case.

* Cleaned up ALPHA flags and transformations.

* Implemented expansion to 16 bits.

* etc, see

Thu Feb 3 13:00:00 2011
- updated to 1.5.1: new branch shortly after 1.4, many structural
changes, see CHANGELOG or

Thu Sep 30 14:00:00 2010
- updated to 1.4.4:

* Eliminated another deprecated reference to png_ptr->io_ptr in pngtest.c

* Updated the xcode project to work with libpng-1.4.x and added iOS targets
for simulator and device (Philippe Hausler).

* Eliminated a deprecated reference to png_ptr->io_ptr in pngtest.c

* Removed unused png_mem_
* defines from pngconf.h.

* Updated the read macros and functions from 1.5.0beta38.

Mon Aug 30 14:00:00 2010
- fix baselibs.conf after previous change

Thu Jul 29 14:00:00 2010
- add devel packages to baselbis.conf [bnc#625883]

Mon Jun 28 14:00:00 2010
- updated to 1.4.3: fixed libpng overflow (CVE-2010-1205)
and memory leak [bnc#617866]

Fri Jun 4 14:00:00 2010
- remove devel packages from baselibs.conf, not convinced of
their usefulness

Mon May 3 14:00:00 2010
- also obsolete libpng-devel-1.2.43 (previous factory version)

Sat Apr 24 14:00:00 2010
- buildrequire pkg-config to fix provides

Thu Apr 15 14:00:00 2010
- support png_read_dither() for xfig and transfig

* read-dither.patch

Tue Apr 6 14:00:00 2010
- fix baselibs.conf

Thu Mar 25 13:00:00 2010
- updated to 1.4.1 -- new branch

Thu Feb 25 13:00:00 2010
- updated to 1.2.43 (fixes [bnc#585403]):

* Removed \"#define PNG_NO_ERROR_NUMBERS\" that was inadvertently added
to pngconf.h in version 1.2.41.

* Removed leftover \"-DPNG_CONFIGURE_LIBPNG\" from scripts/makefile.darwin
and contrib/pngminim/

* Relocated png_do_chop() to its original position in pngrtran.c; the
change in version 1.2.41beta08 caused transparency to be handled wrong
in some 16-bit datastreams (Yusaku Sugai).

* Renamed back to and revised CMakeLists.txt
(revising changes made in 1.2.41)

in pngset.c to be consistent with other changes in version 1.2.38.

* Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
in pngtest.c

Mon Dec 14 13:00:00 2009
- add baselibs.conf as a source

Mon Dec 7 13:00:00 2009
- updated to 1.2.41:
contains numerous cleanups, some new compile-time warnings about
direct struct access (define PNG_NO_PEDANTIC_WARNINGS to enable),
a new xcode build project, and a minor performance improvement
(avoid building 16-bit gamma tables when not needed)

Tue Nov 24 13:00:00 2009
- updated to 1.2.40:
Removed an extra png_debug() recently added to png_write_find_filter().
Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)

Tue Nov 3 13:00:00 2009
- updated patches to apply with fuzz=0

Thu Aug 13 14:00:00 2009
- updated to 1.2.39:

* Added a prototype for png_64bit_product() in png.c

* Avoid a possible NULL dereference in debug build,
in png_set_text_2()

* Relocated new png_64_bit_product() prototype into png.h

* Replaced
*.tar.lzma with
*.txz in distribution.

* Reject attempt to write iCCP chunk with negative embedded
profile length.

Mon Jul 20 14:00:00 2009
- updated to 1.2.38:

* Revised libpng
*.txt and libpng.3 to mention calling png_set_IHDR()
multiple times and to specify the sample order in the tRNS chunk,
because the ISO PNG specification has a typo in the tRNS table.

PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
available for ignoring known chunks even when not saving unknown chunks.

* Adopted preference for consistent use of \"#ifdef\" and \"#ifndef\" versus
\"#if defined()\" and \"if !defined()\" where possible.

pngconf.h, and moved the various unknown chunk macro definitions

Thu Jun 4 14:00:00 2009
- updated to 1.2.37:

* fixed bug with new png_memset() of the big_row_buffer

Tue May 12 14:00:00 2009
- updated to 1.2.36 (see CHANGES)