Binary files libpng-1.4.13/contrib/gregbook/toucan.png and libpng-1.4.14rc01/contrib/gregbook/toucan.png differ diff -ru4NwbB libpng-1.4.13/png.h libpng-1.4.14rc01/png.h --- libpng-1.4.13/png.h 2014-02-05 22:16:50.748643997 -0600 +++ libpng-1.4.14rc01/png.h 2014-11-12 21:36:08.960494431 -0600 @@ -172,8 +172,10 @@ * 1.4.12 14 10412 14.so.14.12[.0] * 1.4.13beta01-06 14 10413 14.so.14.13[.0] * 1.4.13rc01-02 14 10413 14.so.14.13[.0] * 1.4.13 14 10413 14.so.14.13[.0] + * 1.4.14beta01 14 10414 14.so.14.14[.0] + * 1.4.14rc01 14 10414 14.so.14.14[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be * used for changes in backward compatibility, as it is intended. The diff -ru4NwbB libpng-1.4.13/pngread.c libpng-1.4.14rc01/pngread.c --- libpng-1.4.13/pngread.c 2014-02-05 22:16:50.824570384 -0600 +++ libpng-1.4.14rc01/pngread.c 2014-11-12 21:36:09.023380113 -0600 @@ -1,8 +1,8 @@ /* pngread.c - read a PNG file * - * Last changed in libpng 1.4.13 [%RDATE%] + * Last changed in libpng 1.4.13 [February 6, 2014] * Copyright (c) 1998-2014 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * @@ -52,10 +52,8 @@ jmp_buf jmpbuf; #endif #endif - int i; - png_debug(1, "in png_create_read_struct"); #ifdef PNG_USER_MEM_SUPPORTED png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG, @@ -98,16 +96,22 @@ #endif png_set_error_fn(png_ptr, error_ptr, error_fn, warn_fn); - if (user_png_ver) + if (user_png_ver != NULL) { - i = 0; + int i = -1; + int found_dots = 0; + do { - if (user_png_ver[i] != png_libpng_ver[i]) + i++; + if (user_png_ver[i] != PNG_LIBPNG_VER_STRING[i]) png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH; - } while (png_libpng_ver[i++]); + if (user_png_ver[i] == '.') + found_dots++; + } while (found_dots < 2 && user_png_ver[i] != 0 && + PNG_LIBPNG_VER_STRING[i] != 0); } else png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH; diff -ru4NwbB libpng-1.4.13/pngrtran.c libpng-1.4.14rc01/pngrtran.c --- libpng-1.4.13/pngrtran.c 2014-02-05 22:16:50.847567494 -0600 +++ libpng-1.4.14rc01/pngrtran.c 2014-11-12 21:36:09.045328589 -0600 @@ -1,8 +1,8 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.4.13 [November 13, 2014] + * Last changed in libpng 1.4.13 [February 6, 2014] * Copyright (c) 1998-2014 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * @@ -1372,8 +1372,11 @@ if (png_ptr->transformations & PNG_EXPAND) { if (png_ptr->row_info.color_type == PNG_COLOR_TYPE_PALETTE) { + if (png_ptr->palette == NULL) + png_error (png_ptr, "Palette is NULL in indexed image"); + png_do_expand_palette(&(png_ptr->row_info), png_ptr->row_buf + 1, png_ptr->palette, png_ptr->trans_alpha, png_ptr->num_trans); } else diff -ru4NwbB libpng-1.4.13/pngset.c libpng-1.4.14rc01/pngset.c --- libpng-1.4.13/pngset.c 2014-02-05 22:16:50.872426011 -0600 +++ libpng-1.4.14rc01/pngset.c 2014-11-12 21:36:09.068466828 -0600 @@ -1,8 +1,8 @@ /* pngset.c - storage of image information into info struct * - * Last changed in libpng 1.4.13 [November 13, 2014] + * Last changed in libpng 1.4.13 [February 6, 2014] * Copyright (c) 1998-2014 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * diff -ru4NwbB libpng-1.4.13/pngwrite.c libpng-1.4.14rc01/pngwrite.c --- libpng-1.4.13/pngwrite.c 2014-02-05 22:16:50.906144160 -0600 +++ libpng-1.4.14rc01/pngwrite.c 2014-11-12 21:36:09.096315356 -0600 @@ -479,9 +479,8 @@ #ifdef USE_FAR_KEYWORD jmp_buf jmpbuf; #endif #endif - int i; png_debug(1, "in png_create_write_struct"); #ifdef PNG_USER_MEM_SUPPORTED @@ -518,16 +517,22 @@ png_set_mem_fn(png_ptr, mem_ptr, malloc_fn, free_fn); #endif /* PNG_USER_MEM_SUPPORTED */ png_set_error_fn(png_ptr, error_ptr, error_fn, warn_fn); - if (user_png_ver) + if (user_png_ver != NULL) { - i = 0; + int i = -1; + int found_dots = 0; + do { - if (user_png_ver[i] != png_libpng_ver[i]) + i++; + if (user_png_ver[i] != PNG_LIBPNG_VER_STRING[i]) png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH; - } while (png_libpng_ver[i++]); + if (user_png_ver[i] == '.') + found_dots++; + } while (found_dots < 2 && user_png_ver[i] != 0 && + PNG_LIBPNG_VER_STRING[i] != 0); } if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH) {