12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- Libpng 1.6.10 - March 6, 2014
- This is a public release of libpng, intended for use in production codes.
- Files available for download:
- Source files with LF line endings (for Unix/Linux) and with a
- "configure" script
- libpng-1.6.10.tar.xz (LZMA-compressed, recommended)
- libpng-1.6.10.tar.gz
- Source files with CRLF line endings (for Windows), without the
- "configure" script
- lpng1610.7z (LZMA-compressed, recommended)
- lpng1610.zip
- Other information:
- libpng-1.6.10-README.txt
- libpng-1.6.10-LICENSE.txt
- libpng-1.6.10-*.asc (armored detached GPG signatures)
- Changes since the last public release (1.6.9):
- Backported changes from libpng-1.7.0beta30 and beta31:
- Fixed a large number of instances where PNGCBAPI was omitted from
- function definitions.
- Added pngimage test program for png_read_png() and png_write_png()
- with two new test scripts.
- Removed dependence on !PNG_READ_EXPAND_SUPPORTED for calling
- png_set_packing() in png_read_png().
- Fixed combination of ~alpha with shift. On read invert alpha, processing
- occurred after shift processing, which causes the final values to be
- outside the range that should be produced by the shift. Reversing the
- order on read makes the two transforms work together correctly and mirrors
- the order used on write.
- Do not read invalid sBIT chunks. Previously libpng only checked sBIT
- values on write, so a malicious PNG writer could therefore cause
- the read code to return an invalid sBIT chunk, which might lead to
- application errors or crashes. Such chunks are now skipped (with
- chunk_benign_error).
- Make png_read_png() and png_write_png() prototypes in png.h depend
- upon PNG_READ_SUPPORTED and PNG_WRITE_SUPPORTED.
- Support builds with unsupported PNG_TRANSFORM_* values. All of the
- PNG_TRANSFORM_* values are always defined in png.h and, because they
- are used for both read and write in some cases, it is not reliable
- to #if out ones that are totally unsupported. This change adds error
- detection in png_read_image() and png_write_image() to do a
- png_app_error() if the app requests something that cannot be done
- and it adds corresponding code to pngimage.c to handle such options
- by not attempting to test them.
- Moved redefines of png_error(), png_warning(), png_chunk_error(),
- and png_chunk_warning() from pngpriv.h to png.h to make them visible
- to libpng-calling applications.
- Moved OS dependent code from arm/arm_init.c, to allow the included
- implementation of the ARM NEON discovery function to be set at
- build-time and provide sample implementations from the current code in the
- contrib/arm-neon subdirectory. The __linux__ code has also been changed to
- compile and link on Android by using /proc/cpuinfo, and the old linux code
- is in contrib/arm-neon/linux-auxv.c. The new code avoids POSIX and Linux
- dependencies apart from opening /proc/cpuinfo and is C90 compliant.
- Check for info_ptr == NULL early in png_read_end() so we don't need to
- run all the png_handle_*() and depend on them to return if info_ptr == NULL.
- This improves the performance of png_read_end(png_ptr, NULL) and makes
- it more robust against future programming errors.
- Check for __has_extension before using it in pngconf.h, to
- support older Clang versions (Jeremy Sequoia).
- Treat CRC error handling with png_set_crc_action(), instead of with
- png_set_benign_errors(), which has been the case since libpng-1.6.0beta18.
- Use a user warning handler in contrib/gregbook/readpng2.c instead of default,
- so warnings will be put on stderr even if libpng has CONSOLE_IO disabled.
- Added png_ptr->process_mode = PNG_READ_IDAT_MODE in png_push_read_chunk
- after recognizing the IDAT chunk, which avoids an infinite loop while
- reading a datastream whose first IDAT chunk is of zero-length.
- This fixes CERT VU#684412 and CVE-2014-0333.
- Don't recognize known sRGB profiles as sRGB if they have been hacked,
- but don't reject them and don't issue a copyright violation warning.
- Moved some documentation from png.h to libpng.3 and libpng-manual.txt
- Minor editing of contrib/arm-neon/README and contrib/examples/*.c
- Fixed typos in the manual and in scripts/pnglibconf.dfa (CFLAGS -> CPPFLAGS
- and PNG_USR_CONFIG -> PNG_USER_CONFIG).
- Un-deprecated png_data_freer().
- Send comments/corrections/commendations to png-mng-implement at lists.sf.net
- (subscription required; visit
- https://lists.sourceforge.net/lists/listinfo/png-mng-implement
- to subscribe)
- or to glennrp at users.sourceforge.net
- Glenn R-P
- #endif
|