Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
godot
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
godot
Commits
a0141fa8
Commit
a0141fa8
authored
Jan 05, 2017
by
Rémi Verschelde
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libpng: Update to upstream 1.6.28
Fixes a NULL pointer dereference bug (CVE-2016-10087).
parent
495d059a
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
46 additions
and
58 deletions
+46
-58
README.md
thirdparty/README.md
+1
-1
png.c
thirdparty/libpng/png.c
+12
-11
png.h
thirdparty/libpng/png.h
+19
-25
pngconf.h
thirdparty/libpng/pngconf.h
+1
-1
pnglibconf.h
thirdparty/libpng/pnglibconf.h
+2
-2
pngrutil.c
thirdparty/libpng/pngrutil.c
+8
-15
pngstruct.h
thirdparty/libpng/pngstruct.h
+3
-3
No files found.
thirdparty/README.md
View file @
a0141fa8
...
...
@@ -84,7 +84,7 @@ Files extracted from upstream source:
## libpng
-
Upstream: http://libpng.org/pub/png/libpng.html
-
Version: 1.6.2
6
-
Version: 1.6.2
8
-
License: libpng/zlib
Files extracted from upstream source:
...
...
thirdparty/libpng/png.c
View file @
a0141fa8
/* png.c - location for general purpose libpng functions
*
* Last changed in libpng 1.6.2
6 [October 20, 2016
]
* Copyright (c) 1998-2002,2004,2006-201
6
Glenn Randers-Pehrson
* Last changed in libpng 1.6.2
8 [January 5, 2017
]
* Copyright (c) 1998-2002,2004,2006-201
7
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.)
*
...
...
@@ -14,7 +14,7 @@
#include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef
png_libpng_version_1_6_2
6
Your_png_h_is_not_version_1_6_26
;
typedef
png_libpng_version_1_6_2
8
Your_png_h_is_not_version_1_6_28
;
/* Tells libpng that we have already handled the first "num_bytes" bytes
* of the PNG file signature. If the PNG data is embedded into another
...
...
@@ -477,6 +477,7 @@ png_free_data(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 mask,
png_free
(
png_ptr
,
info_ptr
->
text
);
info_ptr
->
text
=
NULL
;
info_ptr
->
num_text
=
0
;
info_ptr
->
max_text
=
0
;
}
}
#endif
...
...
@@ -775,15 +776,15 @@ png_get_copyright(png_const_structrp png_ptr)
#else
# ifdef __STDC__
return
PNG_STRING_NEWLINE
\
"libpng version 1.6.2
6 - October 20, 2016
"
PNG_STRING_NEWLINE
\
"Copyright (c) 1998-2002,2004,2006-201
6
Glenn Randers-Pehrson"
\
"libpng version 1.6.2
8 - January 5, 2017
"
PNG_STRING_NEWLINE
\
"Copyright (c) 1998-2002,2004,2006-201
7
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
"libpng version 1.6.2
6 - October 20, 2016
\
Copyright (c) 1998-2002,2004,2006-201
6
Glenn Randers-Pehrson\
return
"libpng version 1.6.2
8 - January 5, 2017
\
Copyright (c) 1998-2002,2004,2006-201
7
Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."
;
# endif
...
...
@@ -4259,11 +4260,11 @@ png_set_option(png_structrp png_ptr, int option, int onoff)
if
(
png_ptr
!=
NULL
&&
option
>=
0
&&
option
<
PNG_OPTION_NEXT
&&
(
option
&
1
)
==
0
)
{
int
mask
=
3
<<
option
;
int
setting
=
(
2
+
(
onoff
!=
0
))
<<
option
;
int
current
=
png_ptr
->
options
;
png_uint_32
mask
=
3
<<
option
;
png_uint_32
setting
=
(
2
+
(
onoff
!=
0
))
<<
option
;
png_uint_32
current
=
png_ptr
->
options
;
png_ptr
->
options
=
(
png_
byte
)(((
current
&
~
mask
)
|
setting
)
&
0xff
);
png_ptr
->
options
=
(
png_
uint_32
)(((
current
&
~
mask
)
|
setting
)
&
0xff
);
return
(
current
&
mask
)
>>
option
;
}
...
...
thirdparty/libpng/png.h
View file @
a0141fa8
/* png.h - header file for PNG reference library
*
* libpng version 1.6.2
6, October 20, 2016
* libpng version 1.6.2
8, January 5, 2017
*
* Copyright (c) 1998-2002,2004,2006-201
6
Glenn Randers-Pehrson
* Copyright (c) 1998-2002,2004,2006-201
7
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.)
*
...
...
@@ -12,7 +12,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.2
6, October 20, 2016
:
* libpng versions 0.97, January 1998, through 1.6.2
8, January 5, 2017
:
* Glenn Randers-Pehrson.
* See also "Contributing Authors", below.
*/
...
...
@@ -25,12 +25,8 @@
*
* This code is released under the libpng license.
*
* Some files in the "contrib" directory and some configure-generated
* files that are distributed with libpng have other copyright owners and
* are released under other open source licenses.
*
* libpng versions 1.0.7, July 1, 2000 through 1.6.26, October 20, 2016 are
* Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are
* libpng versions 1.0.7, July 1, 2000 through 1.6.28, January 5, 2017 are
* Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are
* derived from libpng-1.0.6, and are distributed according to the same
* disclaimer and license as libpng-1.0.6 with the following individuals
* added to the list of Contributing Authors:
...
...
@@ -52,10 +48,10 @@
* risk of satisfactory quality, performance, accuracy, and effort is with
* the user.
*
* Some files in the "contrib" directory have other copyright owners and
* Some files in the "contrib" directory and some configure-generated
* files that are distributed with libpng have other copyright owners and
* are released under other open source licenses.
*
*
* libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
* Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
* libpng-0.96, and are distributed according to the same disclaimer and
...
...
@@ -66,9 +62,6 @@
* Glenn Randers-Pehrson
* Willem van Schaik
*
* Some files in the "scripts" directory have different copyright owners
* but are also released under this license.
*
* libpng versions 0.89, June 1996, through 0.96, May 1997, are
* Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
* and are distributed according to the same disclaimer and license as
...
...
@@ -214,11 +207,11 @@
* ...
* 1.0.19 10 10019 10.so.0.19[.0]
* ...
* 1.2.5
6 13 10256 12.so.0.56
[.0]
* 1.2.5
7 13 10257 12.so.0.57
[.0]
* ...
* 1.5.2
7 15 10527 15.so.15.27
[.0]
* 1.5.2
8 15 10527 15.so.15.28
[.0]
* ...
* 1.6.2
6 16 10626 16.so.16.26
[.0]
* 1.6.2
8 16 10628 16.so.16.28
[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
...
...
@@ -246,13 +239,13 @@
* Y2K compliance in libpng:
* =========================
*
*
October 20, 2016
*
January 5, 2017
*
* 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.6.2
6
are Y2K compliant. It is my belief that
* upward through 1.6.2
8
are Y2K compliant. It is my belief that
* earlier versions were also Y2K compliant.
*
* Libpng only has two year fields. One is a 2-byte unsigned integer
...
...
@@ -314,8 +307,8 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.2
6
"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.2
6 - October 20, 2016
\n"
#define PNG_LIBPNG_VER_STRING "1.6.2
8
"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.2
8 - January 5, 2017
\n"
#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
...
...
@@ -323,7 +316,7 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6
#define PNG_LIBPNG_VER_RELEASE 2
6
#define PNG_LIBPNG_VER_RELEASE 2
8
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
...
...
@@ -354,7 +347,7 @@
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
*/
#define PNG_LIBPNG_VER 1062
6
/* 1.6.26
*/
#define PNG_LIBPNG_VER 1062
8
/* 1.6.28
*/
/* Library configuration: these options cannot be changed after
* the library has been built.
...
...
@@ -464,7 +457,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
typedef
char
*
png_libpng_version_1_6_2
6
;
typedef
char
*
png_libpng_version_1_6_2
8
;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
...
...
@@ -3230,7 +3223,8 @@ PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory,
#ifdef PNG_MIPS_MSA_API_SUPPORTED
# define PNG_MIPS_MSA 6
/* HARDWARE: MIPS Msa SIMD instructions supported */
#endif
#define PNG_OPTION_NEXT 8
/* Next option - numbers must be even */
#define PNG_IGNORE_ADLER32 8
#define PNG_OPTION_NEXT 10
/* Next option - numbers must be even */
/* Return values: NOTE: there are four values and 'off' is *not* zero */
#define PNG_OPTION_UNSET 0
/* Unset - defaults to off */
...
...
thirdparty/libpng/pngconf.h
View file @
a0141fa8
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.6.2
6, October 20, 2016
* libpng version 1.6.2
8, January 5, 2017
*
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
...
...
thirdparty/libpng/pnglibconf.h
View file @
a0141fa8
/* libpng 1.6.2
6
STANDARD API DEFINITION */
/* libpng 1.6.2
8
STANDARD API DEFINITION */
/* pnglibconf.h - library build configuration */
/* Libpng version 1.6.2
6 - October 20, 2016
*/
/* Libpng version 1.6.2
8 - January 5, 2017
*/
/* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
...
...
thirdparty/libpng/pngrutil.c
View file @
a0141fa8
/* pngrutil.c - utilities to read a PNG file
*
* Last changed in libpng 1.6.2
6 [October 20, 2016
]
* Last changed in libpng 1.6.2
7 [January 5, 2017
]
* Copyright (c) 1998-2002,2004,2006-2016 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.)
...
...
@@ -418,9 +418,10 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
png_ptr
->
flags
|=
PNG_FLAG_ZSTREAM_INITIALIZED
;
}
#if ZLIB_VERNUM >= 0x1281
/* Turn off validation of the ADLER32 checksum */
if
((
png_ptr
->
flags
&
PNG_FLAG_CRC_CRITICAL_IGNORE
)
!=
0
)
#if ZLIB_VERNUM >= 0x1281 && \
defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
if
(((
png_ptr
->
options
>>
PNG_IGNORE_ADLER32
)
&
3
)
==
PNG_OPTION_ON
)
/* Turn off validation of the ADLER32 checksum in IDAT chunks */
ret
=
inflateValidate
(
&
png_ptr
->
zstream
,
0
);
#endif
...
...
@@ -716,7 +717,7 @@ png_decompress_chunk(png_structrp png_ptr,
* the extra space may otherwise be used as a Trojan Horse.
*/
if
(
ret
==
Z_STREAM_END
&&
chunklength
-
prefix_size
!=
lzsize
)
chunklength
-
prefix_size
!=
lzsize
)
png_chunk_benign_error
(
png_ptr
,
"extra compressed data"
);
}
...
...
@@ -826,7 +827,7 @@ png_inflate_read(png_structrp png_ptr, png_bytep read_buffer, uInt read_size,
return
Z_STREAM_ERROR
;
}
}
#endif
#endif
/* READ_iCCP */
/* Read and check the IDHR chunk */
...
...
@@ -4107,15 +4108,7 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output,
png_zstream_error
(
png_ptr
,
ret
);
if
(
output
!=
NULL
)
{
if
(
!
strncmp
(
png_ptr
->
zstream
.
msg
,
"incorrect data check"
,
20
))
{
png_chunk_benign_error
(
png_ptr
,
"ADLER32 checksum mismatch"
);
continue
;
}
else
png_chunk_error
(
png_ptr
,
png_ptr
->
zstream
.
msg
);
}
png_chunk_error
(
png_ptr
,
png_ptr
->
zstream
.
msg
);
else
/* checking */
{
...
...
thirdparty/libpng/pngstruct.h
View file @
a0141fa8
/* pngstruct.h - header file for PNG reference library
*
* Last changed in libpng 1.6.2
4 [August 4, 2016
]
* Copyright (c) 1998-2002,2004,2006-201
6
Glenn Randers-Pehrson
* Last changed in libpng 1.6.2
8 [January 5, 2017
]
* Copyright (c) 1998-2002,2004,2006-201
7
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.)
*
...
...
@@ -353,7 +353,7 @@ struct png_struct_def
/* Options */
#ifdef PNG_SET_OPTION_SUPPORTED
png_
byte
options
;
/* On/off state (up to 4
options) */
png_
uint_32
options
;
/* On/off state (up to 16
options) */
#endif
#if PNG_LIBPNG_VER < 10700
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment