diff --git a/example.c b/example.c index dcf38de8..108a5f18 100644 --- a/example.c +++ b/example.c @@ -4,7 +4,7 @@ /* example.c - an example of using libpng * Last changed in libpng 1.2.37 [June 4, 2009] * This file has been placed in the public domain by the authors. - * Maintained 1998-2009 Glenn Randers-Pehrson + * Maintained 1998-2010 Glenn Randers-Pehrson * Maintained 1996, 1997 Andreas Dilger) * Written 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) */ diff --git a/png.c b/png.c index 22343a82..c98cd41b 100644 --- a/png.c +++ b/png.c @@ -1,8 +1,8 @@ /* png.c - location for general purpose libpng functions * - * Last changed in libpng 1.2.41 [December 3, 2009] - * Copyright (c) 1998-2009 Glenn Randers-Pehrson + * Last changed in libpng 1.2.42 [January 1, 2010] + * Copyright (c) 1998-2010 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.) * @@ -17,7 +17,7 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_42rc03 Your_png_h_is_not_version_1_2_42rc03; +typedef version_1_2_42rc04 Your_png_h_is_not_version_1_2_42rc04; /* Version information for C files. This had better match the version * string defined in png.h. @@ -443,7 +443,7 @@ png_free_data(png_structp png_ptr, png_infop info_ptr, png_uint_32 mask, for (i = 0; i < (int)info_ptr->pcal_nparams; i++) { png_free(png_ptr, info_ptr->pcal_params[i]); - info_ptr->pcal_params[i]=NULL; + info_ptr->pcal_params[i] = NULL; } png_free(png_ptr, info_ptr->pcal_params); info_ptr->pcal_params = NULL; @@ -588,10 +588,10 @@ png_free_data(png_structp png_ptr, png_infop info_ptr, png_uint_32 mask, for (row = 0; row < (int)info_ptr->height; row++) { png_free(png_ptr, info_ptr->row_pointers[row]); - info_ptr->row_pointers[row]=NULL; + info_ptr->row_pointers[row] = NULL; } png_free(png_ptr, info_ptr->row_pointers); - info_ptr->row_pointers=NULL; + info_ptr->row_pointers = NULL; } info_ptr->valid &= ~PNG_INFO_IDAT; } @@ -620,7 +620,7 @@ png_info_destroy(png_structp png_ptr, png_infop info_ptr) if (png_ptr->num_chunk_list) { png_free(png_ptr, png_ptr->chunk_list); - png_ptr->chunk_list=NULL; + png_ptr->chunk_list = NULL; png_ptr->num_chunk_list = 0; } #endif @@ -723,14 +723,14 @@ png_get_copyright(png_structp png_ptr) #else #ifdef __STDC__ return ((png_charp) PNG_STRING_NEWLINE \ - "libpng version 1.2.42rc03 - December 25, 2009" PNG_STRING_NEWLINE \ - "Copyright (c) 1998-2009 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ + "libpng version 1.2.42rc04 - January 1, 2010" PNG_STRING_NEWLINE \ + "Copyright (c) 1998-2010 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE); #else - return ((png_charp) "libpng version 1.2.42rc03 - December 25, 2009\ - Copyright (c) 1998-2009 Glenn Randers-Pehrson\ + return ((png_charp) "libpng version 1.2.42rc04 - January 1, 2010\ + Copyright (c) 1998-2010 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."); #endif diff --git a/png.h b/png.h index 01219e6b..3dc56b14 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.42rc03 - December 25, 2009 - * Copyright (c) 1998-2009 Glenn Randers-Pehrson + * libpng version 1.2.42rc04 - January 1, 2010 + * Copyright (c) 1998-2010 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.) * @@ -10,7 +10,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.2.42rc03 - December 25, 2009: Glenn + * libpng versions 0.97, January 1998, through 1.2.42rc04 - January 1, 2010: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -251,7 +251,7 @@ * 1.0.51 10 10051 10.so.0.51[.0] * 1.2.41 13 10241 12.so.0.41[.0] * 1.2.42beta01-02 13 10242 12.so.0.42[.0] - * 1.2.42rc01-03 13 10242 12.so.0.42[.0] + * 1.2.42rc01-04 13 10242 12.so.0.42[.0] * 1.0.52 10 10052 10.so.0.52[.0] * 1.2.42 13 10242 12.so.0.42[.0] * @@ -285,8 +285,8 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.2.42rc03, December 25, 2009, are - * Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are + * libpng versions 1.2.6, August 15, 2004, through 1.2.42rc04, January 1, 2010, are + * Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: * @@ -397,13 +397,13 @@ * Y2K compliance in libpng: * ========================= * - * December 25, 2009 + * January 1, 2010 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.2.42rc03 are Y2K compliant. It is my belief that earlier + * upward through 1.2.42rc04 are Y2K compliant. It is my belief that earlier * versions were also Y2K compliant. * * Libpng only has three year fields. One is a 2-byte unsigned integer @@ -459,9 +459,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.42rc03" +#define PNG_LIBPNG_VER_STRING "1.2.42rc04" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.42rc03 - December 25, 2009\n" + " libpng version 1.2.42rc04 - January 1, 2010\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -474,7 +474,7 @@ * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 03 +#define PNG_LIBPNG_VER_BUILD 04 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1530,7 +1530,7 @@ struct png_struct_def /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef png_structp version_1_2_42rc03; +typedef png_structp version_1_2_42rc04; typedef png_struct FAR * FAR * png_structpp; @@ -2173,10 +2173,10 @@ extern PNG_EXPORT(void,png_free_default) PNGARG((png_structp png_ptr, #endif extern PNG_EXPORT(png_voidp,png_memcpy_check) PNGARG((png_structp png_ptr, - png_voidp s1, png_voidp s2, png_uint_32 size)); + png_voidp s1, png_voidp s2, png_uint_32 size)) PNG_DEPRECATED; extern PNG_EXPORT(png_voidp,png_memset_check) PNGARG((png_structp png_ptr, - png_voidp s1, int value, png_uint_32 size)); + png_voidp s1, int value, png_uint_32 size)) PNG_DEPRECATED; #if defined(USE_FAR_KEYWORD) /* memory model conversion function */ extern void *png_far_to_near PNGARG((png_structp png_ptr,png_voidp ptr, diff --git a/pngconf.h b/pngconf.h index 20a538d3..123e3c58 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,8 +1,8 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.42rc03 - December 25, 2009 - * Copyright (c) 1998-2009 Glenn Randers-Pehrson + * libpng version 1.2.42rc04 - January 1, 2010 + * Copyright (c) 1998-2010 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 --git a/pngerror.c b/pngerror.c index bdcd86a5..7bc98fb1 100644 --- a/pngerror.c +++ b/pngerror.c @@ -280,7 +280,7 @@ png_default_error(png_structp png_ptr, png_const_charp error_message) { jmp_buf jmpbuf; png_memcpy(jmpbuf, png_ptr->jmpbuf, png_sizeof(jmp_buf)); - longjmp(jmpbuf, 1); + longjmp(jmpbuf,1); } # else longjmp(png_ptr->jmpbuf, 1); diff --git a/pngpread.c b/pngpread.c index 9d0d7db3..4e7b6a44 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * Last changed in libpng 1.2.41 [December 3, 2009] + * Last changed in libpng 1.2.42 [January 1, 2010] * Copyright (c) 1998-2009 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.) @@ -1572,7 +1572,7 @@ png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr) png_free(png_ptr, text_ptr); if (ret) - png_warning(png_ptr, "Insufficient memory to store iTXt chunk."); + png_warning(png_ptr, "Insufficient memory to store iTXt chunk."); } } #endif @@ -1627,7 +1627,7 @@ png_push_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 else { png_ptr->unknown_chunk.data = (png_bytep)png_malloc(png_ptr, - (png_uint_32)length); + (png_uint_32)length); png_crc_read(png_ptr, (png_bytep)png_ptr->unknown_chunk.data, length); } diff --git a/pngread.c b/pngread.c index 700d7946..f10be8c3 100644 --- a/pngread.c +++ b/pngread.c @@ -558,6 +558,7 @@ png_read_update_info(png_structp png_ptr, png_infop info_ptr) else png_warning(png_ptr, "Ignoring extra png_read_update_info() call; row buffer not reallocated"); + png_read_transform_info(png_ptr, info_ptr); } diff --git a/pngrtran.c b/pngrtran.c index 8046365b..15f92758 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,8 +1,8 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.2.42 [December 25, 2009] - * Copyright (c) 1998-2009 Glenn Randers-Pehrson + * Last changed in libpng 1.2.42 [January 1, 2010] + * Copyright (c) 1998-2010 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 --git a/pngrutil.c b/pngrutil.c index ec10f809..352910dd 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -3206,9 +3206,14 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) { png_free(png_ptr, png_ptr->big_row_buf); if (png_ptr->interlaced) - png_ptr->big_row_buf = (png_bytep)png_calloc(png_ptr, row_bytes + 64); + png_ptr->big_row_buf = (png_bytep)png_calloc(png_ptr, + row_bytes + 64); else - png_ptr->big_row_buf = (png_bytep)png_malloc(png_ptr, row_bytes + 64); + png_ptr->big_row_buf = (png_bytep)png_malloc(png_ptr, + row_bytes + 64); + png_ptr->old_big_row_buf_size = row_bytes + 64; + + /* Use 32 bytes of padding before and after row_buf. */ png_ptr->row_buf = png_ptr->big_row_buf + 32; png_ptr->old_big_row_buf_size = row_bytes + 64; } diff --git a/pngset.c b/pngset.c index 9ed09a34..5c191217 100644 --- a/pngset.c +++ b/pngset.c @@ -1,8 +1,8 @@ /* pngset.c - storage of image information into info struct * - * Last changed in libpng 1.2.42 [December 25, 2009] - * Copyright (c) 1998-2009 Glenn Randers-Pehrson + * Last changed in libpng 1.2.42 [January 1, 2010] + * Copyright (c) 1998-2010 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.) * @@ -397,7 +397,7 @@ png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr, if (info_ptr->scal_s_width == NULL) { png_warning(png_ptr, - "Memory allocation failed while processing sCAL."); + "Memory allocation failed while processing sCAL."); return; } png_memcpy(info_ptr->scal_s_width, swidth, (png_size_t)length); @@ -411,7 +411,7 @@ png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr, png_free (png_ptr, info_ptr->scal_s_width); info_ptr->scal_s_width = NULL; png_warning(png_ptr, - "Memory allocation failed while processing sCAL."); + "Memory allocation failed while processing sCAL."); return; } png_memcpy(info_ptr->scal_s_height, sheight, (png_size_t)length); @@ -462,8 +462,7 @@ png_set_PLTE(png_structp png_ptr, png_infop info_ptr, } } - /* - * It may not actually be necessary to set png_ptr->palette here; + /* It may not actually be necessary to set png_ptr->palette here; * we do it for backward compatibility with the way the png_handle_tRNS * function used to do the allocation. */ @@ -609,7 +608,7 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr, new_iccp_name = (png_charp)png_malloc_warn(png_ptr, length); if (new_iccp_name == NULL) { - png_warning(png_ptr, "Insufficient memory to process iCCP chunk."); + png_warning(png_ptr, "Insufficient memory to process iCCP chunk."); return; } png_memcpy(new_iccp_name, name, length); @@ -618,7 +617,7 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr, { png_free (png_ptr, new_iccp_name); png_warning(png_ptr, - "Insufficient memory to process iCCP profile."); + "Insufficient memory to process iCCP profile."); return; } png_memcpy(new_iccp_profile, profile, (png_size_t)proflen); @@ -629,7 +628,8 @@ png_set_iCCP(png_structp png_ptr, png_infop info_ptr, info_ptr->iccp_name = new_iccp_name; info_ptr->iccp_profile = new_iccp_profile; /* Compression is always zero but is here so the API and info structure - * does not have to change if we introduce multiple compression types */ + * does not have to change if we introduce multiple compression types + */ info_ptr->iccp_compression = (png_byte)compression_type; #ifdef PNG_FREE_ME_SUPPORTED info_ptr->free_me |= PNG_FREE_ICCP; @@ -912,11 +912,11 @@ png_set_sPLT(png_structp png_ptr, if (np == NULL) { png_warning(png_ptr, "No memory for sPLT palettes."); - return; + return; } png_memcpy(np, info_ptr->splt_palettes, - info_ptr->splt_palettes_num * png_sizeof(png_sPLT_t)); + info_ptr->splt_palettes_num * png_sizeof(png_sPLT_t)); png_free(png_ptr, info_ptr->splt_palettes); info_ptr->splt_palettes=NULL; @@ -927,7 +927,7 @@ png_set_sPLT(png_structp png_ptr, png_uint_32 length; length = png_strlen(from->name) + 1; - to->name = (png_charp)png_malloc_warn(png_ptr, length); + to->name = (png_charp)png_malloc_warn(png_ptr, length); if (to->name == NULL) { png_warning(png_ptr, @@ -936,7 +936,7 @@ png_set_sPLT(png_structp png_ptr, } png_memcpy(to->name, from->name, length); to->entries = (png_sPLT_entryp)png_malloc_warn(png_ptr, - (png_uint_32)(from->nentries * png_sizeof(png_sPLT_entry))); + (png_uint_32)(from->nentries * png_sizeof(png_sPLT_entry))); if (to->entries == NULL) { png_warning(png_ptr, @@ -977,23 +977,22 @@ png_set_unknown_chunks(png_structp png_ptr, if (np == NULL) { png_warning(png_ptr, - "Out of memory while processing unknown chunk."); + "Out of memory while processing unknown chunk."); return; } png_memcpy(np, info_ptr->unknown_chunks, - info_ptr->unknown_chunks_num * png_sizeof(png_unknown_chunk)); + info_ptr->unknown_chunks_num * png_sizeof(png_unknown_chunk)); png_free(png_ptr, info_ptr->unknown_chunks); - info_ptr->unknown_chunks=NULL; + info_ptr->unknown_chunks = NULL; for (i = 0; i < num_unknowns; i++) { png_unknown_chunkp to = np + info_ptr->unknown_chunks_num + i; png_unknown_chunkp from = unknowns + i; - png_memcpy((png_charp)to->name, - (png_charp)from->name, - png_sizeof(from->name)); + png_memcpy((png_charp)to->name, (png_charp)from->name, + png_sizeof(from->name)); to->name[png_sizeof(to->name)-1] = '\0'; to->size = from->size; /* Note our location in the read or write sequence */ @@ -1027,7 +1026,7 @@ png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr, int chunk, int location) { if (png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk < - (int)info_ptr->unknown_chunks_num) + (int)info_ptr->unknown_chunks_num) info_ptr->unknown_chunks[chunk].location = (png_byte)location; } #endif @@ -1093,16 +1092,16 @@ png_set_keep_unknown_chunks(png_structp png_ptr, int keep, png_bytep old_num_chunks = png_ptr->num_chunk_list; new_list=(png_bytep)png_malloc(png_ptr, (png_uint_32) - (5*(num_chunks + old_num_chunks))); + (5*(num_chunks + old_num_chunks))); if (png_ptr->chunk_list != NULL) { png_memcpy(new_list, png_ptr->chunk_list, - (png_size_t)(5*old_num_chunks)); + (png_size_t)(5*old_num_chunks)); png_free(png_ptr, png_ptr->chunk_list); png_ptr->chunk_list=NULL; } png_memcpy(new_list + 5*old_num_chunks, chunk_list, - (png_size_t)(5*num_chunks)); + (png_size_t)(5*num_chunks)); for (p = new_list + 5*old_num_chunks + 4, i = 0; inum_chunk_list = old_num_chunks + num_chunks; diff --git a/pngtest.c b/pngtest.c index 4480c3d0..0837f1cb 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1690,4 +1690,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_42rc03 your_png_h_is_not_version_1_2_42rc03; +typedef version_1_2_42rc04 your_png_h_is_not_version_1_2_42rc04; diff --git a/pngwrite.c b/pngwrite.c index ddbff82b..195cfc52 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,8 +1,8 @@ /* pngwrite.c - general routines to write a PNG file * - * Last changed in libpng 1.2.41 [December 3, 2009] - * Copyright (c) 1998-2009 Glenn Randers-Pehrson + * Last changed in libpng 1.2.42 [January 1, 2010] + * Copyright (c) 1998-2010 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.) * @@ -415,12 +415,12 @@ png_write_end(png_structp png_ptr, png_infop info_ptr) * do not set png_ptr->output_flush_fn to crash. If your application * experiences a problem, please try building libpng with * PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED defined, and report the event to - * png-mng-implement at lists.sf.net . This kludge will be removed - * from libpng-1.4.0. + * png-mng-implement at lists.sf.net . */ -#if defined(PNG_WRITE_FLUSH_SUPPORTED) && \ - defined(PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED) +#ifdef PNG_WRITE_FLUSH_SUPPORTED +# ifdef PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED png_flush(png_ptr); +# endif #endif }