Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: third_party/libpng/png.c

Issue 1372313004: Update to libpng 1.2.52 (rollup change only) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libpng/png.h ('k') | third_party/libpng/pngconf.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* png.c - location for general purpose libpng functions 2 /* png.c - location for general purpose libpng functions
3 * 3 *
4 * Last changed in libpng 1.2.43 [February 25, 2010] 4 * Last changed in libpng 1.2.51 [February 6, 2014]
5 * Copyright (c) 1998-2010 Glenn Randers-Pehrson 5 * Copyright (c) 1998-2014 Glenn Randers-Pehrson
6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) 6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) 7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
8 * 8 *
9 * This code is released under the libpng license. 9 * This code is released under the libpng license.
10 * For conditions of distribution and use, see the disclaimer 10 * For conditions of distribution and use, see the disclaimer
11 * and license in png.h 11 * and license in png.h
12 */ 12 */
13 13
14 #define PNG_INTERNAL 14 #define PNG_INTERNAL
15 #define PNG_NO_EXTERN 15 #define PNG_NO_EXTERN
16 #define PNG_NO_PEDANTIC_WARNINGS 16 #define PNG_NO_PEDANTIC_WARNINGS
17 #include "png.h" 17 #include "png.h"
18 18
19 /* Generate a compiler error if there is an old png.h in the search path. */ 19 /* Generate a compiler error if there is an old png.h in the search path. */
20 typedef version_1_2_45 Your_png_h_is_not_version_1_2_45; 20 typedef version_1_2_52 Your_png_h_is_not_version_1_2_52;
21 21
22 /* Version information for C files. This had better match the version 22 /* Version information for C files. This had better match the version
23 * string defined in png.h. 23 * string defined in png.h.
24 */ 24 */
25 25
26 #ifdef PNG_USE_GLOBAL_ARRAYS 26 #ifdef PNG_USE_GLOBAL_ARRAYS
27 /* png_libpng_ver was changed to a function in version 1.0.5c */ 27 /* png_libpng_ver was changed to a function in version 1.0.5c */
28 PNG_CONST char png_libpng_ver[18] = PNG_LIBPNG_VER_STRING; 28 PNG_CONST char png_libpng_ver[18] = PNG_LIBPNG_VER_STRING;
29 29
30 #ifdef PNG_READ_SUPPORTED 30 #ifdef PNG_READ_SUPPORTED
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 #endif /* _WIN32_WCE */ 711 #endif /* _WIN32_WCE */
712 return ((png_charp)png_ptr->time_buffer); 712 return ((png_charp)png_ptr->time_buffer);
713 } 713 }
714 #endif /* PNG_TIME_RFC1123_SUPPORTED */ 714 #endif /* PNG_TIME_RFC1123_SUPPORTED */
715 715
716 #endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */ 716 #endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
717 717
718 png_charp PNGAPI 718 png_charp PNGAPI
719 png_get_copyright(png_structp png_ptr) 719 png_get_copyright(png_structp png_ptr)
720 { 720 {
721 png_ptr = png_ptr; /* Silence compiler warning about unused png_ptr */ 721 PNG_UNUSED(png_ptr) /* Silence compiler warning about unused png_ptr */
722 #ifdef PNG_STRING_COPYRIGHT 722 #ifdef PNG_STRING_COPYRIGHT
723 return PNG_STRING_COPYRIGHT 723 return PNG_STRING_COPYRIGHT
724 #else 724 #else
725 #ifdef __STDC__ 725 #ifdef __STDC__
726 return ((png_charp) PNG_STRING_NEWLINE \ 726 return ((png_charp) PNG_STRING_NEWLINE \
727 "libpng version 1.2.45 - July 7, 2011" PNG_STRING_NEWLINE \ 727 "libpng version 1.2.52 - November 20, 2014" PNG_STRING_NEWLINE \
728 "Copyright (c) 1998-2010 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ 728 "Copyright (c) 1998-2014 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
729 "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ 729 "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
730 "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ 730 "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
731 PNG_STRING_NEWLINE); 731 PNG_STRING_NEWLINE);
732 #else 732 #else
733 return ((png_charp) "libpng version 1.2.45 - July 7, 2011\ 733 return ((png_charp) "libpng version 1.2.52 - November 20, 2014\
734 Copyright (c) 1998-2010 Glenn Randers-Pehrson\ 734 Copyright (c) 1998-2014 Glenn Randers-Pehrson\
735 Copyright (c) 1996-1997 Andreas Dilger\ 735 Copyright (c) 1996-1997 Andreas Dilger\
736 Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."); 736 Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.");
737 #endif 737 #endif
738 #endif 738 #endif
739 } 739 }
740 740
741 /* The following return the library version as a short string in the 741 /* The following return the library version as a short string in the
742 * format 1.0.0 through 99.99.99zz. To get the version of *.h files 742 * format 1.0.0 through 99.99.99zz. To get the version of *.h files
743 * used with your application, print out PNG_LIBPNG_VER_STRING, which 743 * used with your application, print out PNG_LIBPNG_VER_STRING, which
744 * is defined in png.h. 744 * is defined in png.h.
745 * Note: now there is no difference between png_get_libpng_ver() and 745 * Note: now there is no difference between png_get_libpng_ver() and
746 * png_get_header_ver(). Due to the version_nn_nn_nn typedef guard, 746 * png_get_header_ver(). Due to the version_nn_nn_nn typedef guard,
747 * it is guaranteed that png.c uses the correct version of png.h. 747 * it is guaranteed that png.c uses the correct version of png.h.
748 */ 748 */
749 png_charp PNGAPI 749 png_charp PNGAPI
750 png_get_libpng_ver(png_structp png_ptr) 750 png_get_libpng_ver(png_structp png_ptr)
751 { 751 {
752 /* Version of *.c files used when building libpng */ 752 /* Version of *.c files used when building libpng */
753 png_ptr = png_ptr; /* Silence compiler warning about unused png_ptr */ 753 PNG_UNUSED(png_ptr) /* Silence compiler warning about unused png_ptr */
754 return ((png_charp) PNG_LIBPNG_VER_STRING); 754 return ((png_charp) PNG_LIBPNG_VER_STRING);
755 } 755 }
756 756
757 png_charp PNGAPI 757 png_charp PNGAPI
758 png_get_header_ver(png_structp png_ptr) 758 png_get_header_ver(png_structp png_ptr)
759 { 759 {
760 /* Version of *.h files used when building libpng */ 760 /* Version of *.h files used when building libpng */
761 png_ptr = png_ptr; /* Silence compiler warning about unused png_ptr */ 761 PNG_UNUSED(png_ptr) /* Silence compiler warning about unused png_ptr */
762 return ((png_charp) PNG_LIBPNG_VER_STRING); 762 return ((png_charp) PNG_LIBPNG_VER_STRING);
763 } 763 }
764 764
765 png_charp PNGAPI 765 png_charp PNGAPI
766 png_get_header_version(png_structp png_ptr) 766 png_get_header_version(png_structp png_ptr)
767 { 767 {
768 /* Returns longer string containing both version and date */ 768 /* Returns longer string containing both version and date */
769 png_ptr = png_ptr; /* Silence compiler warning about unused png_ptr */ 769 PNG_UNUSED(png_ptr) /* Silence compiler warning about unused png_ptr */
770 #ifdef __STDC__ 770 #ifdef __STDC__
771 return ((png_charp) PNG_HEADER_VERSION_STRING 771 return ((png_charp) PNG_HEADER_VERSION_STRING
772 #ifndef PNG_READ_SUPPORTED 772 #ifndef PNG_READ_SUPPORTED
773 " (NO READ SUPPORT)" 773 " (NO READ SUPPORT)"
774 #endif 774 #endif
775 PNG_STRING_NEWLINE); 775 PNG_STRING_NEWLINE);
776 #else 776 #else
777 return ((png_charp) PNG_HEADER_VERSION_STRING); 777 return ((png_charp) PNG_HEADER_VERSION_STRING);
778 #endif 778 #endif
779 } 779 }
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
1002 png_warning(png_ptr, "Invalid image width in IHDR"); 1002 png_warning(png_ptr, "Invalid image width in IHDR");
1003 error = 1; 1003 error = 1;
1004 } 1004 }
1005 1005
1006 if ( height > PNG_UINT_31_MAX) 1006 if ( height > PNG_UINT_31_MAX)
1007 { 1007 {
1008 png_warning(png_ptr, "Invalid image height in IHDR"); 1008 png_warning(png_ptr, "Invalid image height in IHDR");
1009 error = 1; 1009 error = 1;
1010 } 1010 }
1011 1011
1012 if ( width > (PNG_UINT_32_MAX
1013 >> 3) /* 8-byte RGBA pixels */
1014 - 64 /* bigrowbuf hack */
1015 - 1 /* filter byte */
1016 - 7*8 /* rounding of width to multiple of 8 pixels */
1017 - 8) /* extra max_pixel_depth pad */
1018 png_warning(png_ptr, "Width is too large for libpng to process pixels");
1019
1020 /* Check other values */ 1012 /* Check other values */
1021 if (bit_depth != 1 && bit_depth != 2 && bit_depth != 4 && 1013 if (bit_depth != 1 && bit_depth != 2 && bit_depth != 4 &&
1022 bit_depth != 8 && bit_depth != 16) 1014 bit_depth != 8 && bit_depth != 16)
1023 { 1015 {
1024 png_warning(png_ptr, "Invalid bit depth in IHDR"); 1016 png_warning(png_ptr, "Invalid bit depth in IHDR");
1025 error = 1; 1017 error = 1;
1026 } 1018 }
1027 1019
1028 if (color_type < 0 || color_type == 1 || 1020 if (color_type < 0 || color_type == 1 ||
1029 color_type == 5 || color_type > 6) 1021 color_type == 5 || color_type > 6)
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 { 1083 {
1092 png_warning(png_ptr, "Unknown filter method in IHDR"); 1084 png_warning(png_ptr, "Unknown filter method in IHDR");
1093 error = 1; 1085 error = 1;
1094 } 1086 }
1095 #endif 1087 #endif
1096 1088
1097 if (error == 1) 1089 if (error == 1)
1098 png_error(png_ptr, "Invalid IHDR data"); 1090 png_error(png_ptr, "Invalid IHDR data");
1099 } 1091 }
1100 #endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */ 1092 #endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
OLDNEW
« no previous file with comments | « third_party/libpng/png.h ('k') | third_party/libpng/pngconf.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698