Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
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
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
d4ce1fd7
Commit
d4ce1fd7
authored
Nov 08, 2022
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
png: Import upstream release 1.6.38.
parent
927f0530
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
92 additions
and
97 deletions
+92
-97
AUTHORS
libs/png/AUTHORS
+6
-2
LICENSE
libs/png/LICENSE
+2
-2
png.c
libs/png/png.c
+7
-7
png.h
libs/png/png.h
+13
-13
pngconf.h
libs/png/pngconf.h
+4
-4
pngget.c
libs/png/pngget.c
+7
-7
pngpriv.h
libs/png/pngpriv.h
+19
-28
pngread.c
libs/png/pngread.c
+0
-3
pngrtran.c
libs/png/pngrtran.c
+1
-1
pngrutil.c
libs/png/pngrutil.c
+13
-13
pngset.c
libs/png/pngset.c
+8
-5
pngstruct.h
libs/png/pngstruct.h
+1
-11
pngwrite.c
libs/png/pngwrite.c
+11
-1
No files found.
libs/png/AUTHORS
View file @
d4ce1fd7
...
...
@@ -20,7 +20,9 @@ Authors, for copyright and licensing purposes.
* Mans Rullgard
* Matt Sarett
* Mike Klein
* Pascal Massimino
* Paul Schmidt
* Qiang Zhou
* Sam Bushell
* Samuel Williams
* Simon-Pierre Cadieux
...
...
@@ -35,10 +37,12 @@ Authors, for copyright and licensing purposes.
* Google Inc.
- Matt Sarett
- Mike Klein
- Dan Field
- Sami Boukortt
The build projects, the build scripts, the test scripts, and other
files in the "
projects", "scripts" and "tests" directories, have other
copyright owners, but are released under the libpng license.
files in the "
ci", "projects", "scripts" and "tests" directories, have
other
copyright owners, but are released under the libpng license.
Some files in the "contrib" directory, and some tools-generated files
that are distributed with libpng, have other copyright owners, and are
...
...
libs/png/LICENSE
View file @
d4ce1fd7
...
...
@@ -4,8 +4,8 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
PNG Reference Library License version 2
---------------------------------------
* Copyright (c) 1995-20
19
The PNG Reference Library Authors.
* Copyright (c) 2018-20
19
Cosmin Truta.
* Copyright (c) 1995-20
22
The PNG Reference Library Authors.
* Copyright (c) 2018-20
22
Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
libs/png/png.c
View file @
d4ce1fd7
/* png.c - location for general purpose libpng functions
*
* Copyright (c) 2018-20
19
Cosmin Truta
* Copyright (c) 2018-20
22
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* 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_3
7
Your_png_h_is_not_version_1_6_37
;
typedef
png_libpng_version_1_6_3
8
Your_png_h_is_not_version_1_6_38
;
#ifdef __GNUC__
/* The version tests may need to be added to, but the problem warning has
...
...
@@ -720,7 +720,7 @@ png_init_io(png_structrp png_ptr, png_FILE_p fp)
*
* Where UNSIGNED_MAX is the appropriate maximum unsigned value, so when the
* negative integral value is added the result will be an unsigned value
* correspnding to the 2's complement representation.
* corresp
o
nding to the 2's complement representation.
*/
void
PNGAPI
png_save_int_32
(
png_bytep
buf
,
png_int_32
i
)
...
...
@@ -815,8 +815,8 @@ png_get_copyright(png_const_structrp png_ptr)
return
PNG_STRING_COPYRIGHT
#else
return
PNG_STRING_NEWLINE
\
"libpng version 1.6.3
7
"
PNG_STRING_NEWLINE
\
"Copyright (c) 2018-20
19
Cosmin Truta"
PNG_STRING_NEWLINE
\
"libpng version 1.6.3
8
"
PNG_STRING_NEWLINE
\
"Copyright (c) 2018-20
22
Cosmin Truta"
PNG_STRING_NEWLINE
\
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson"
\
PNG_STRING_NEWLINE
\
"Copyright (c) 1996-1997 Andreas Dilger"
PNG_STRING_NEWLINE
\
...
...
@@ -1843,12 +1843,12 @@ png_icc_profile_error(png_const_structrp png_ptr, png_colorspacerp colorspace,
# ifdef PNG_WARNINGS_SUPPORTED
else
{
char
number
[
PNG_NUMBER_BUFFER_SIZE
];
/* +24 = 114*/
char
number
[
PNG_NUMBER_BUFFER_SIZE
];
/* +24 = 114
*/
pos
=
png_safecat
(
message
,
(
sizeof
message
),
pos
,
png_format_number
(
number
,
number
+
(
sizeof
number
),
PNG_NUMBER_FORMAT_x
,
value
));
pos
=
png_safecat
(
message
,
(
sizeof
message
),
pos
,
"h: "
);
/*
+2 = 116
*/
pos
=
png_safecat
(
message
,
(
sizeof
message
),
pos
,
"h: "
);
/*
+2 = 116
*/
}
# endif
/* The 'reason' is an arbitrary message, allow +79 maximum 195 */
...
...
libs/png/png.h
View file @
d4ce1fd7
/* png.h - header file for PNG reference library
*
* libpng version 1.6.3
7 - April 14, 2019
* libpng version 1.6.3
8 - September 14, 2022
*
* Copyright (c) 2018-20
19
Cosmin Truta
* Copyright (c) 2018-20
22
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -15,7 +15,7 @@
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.35, July 2018:
* Glenn Randers-Pehrson
* libpng versions 1.6.36, December 2018, through 1.6.3
7, April 2019
:
* libpng versions 1.6.36, December 2018, through 1.6.3
8, September 2022
:
* Cosmin Truta
* See also "Contributing Authors", below.
*/
...
...
@@ -27,8 +27,8 @@
* PNG Reference Library License version 2
* ---------------------------------------
*
* * Copyright (c) 1995-20
19
The PNG Reference Library Authors.
* * Copyright (c) 2018-20
19
Cosmin Truta.
* * Copyright (c) 1995-20
22
The PNG Reference Library Authors.
* * Copyright (c) 2018-20
22
Cosmin Truta.
* * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* * Copyright (c) 1996-1997 Andreas Dilger.
* * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -239,7 +239,7 @@
* ...
* 1.5.30 15 10530 15.so.15.30[.0]
* ...
* 1.6.3
7 16 10637 16.so.16.37
[.0]
* 1.6.3
8 16 10638 16.so.16.38
[.0]
*
* Henceforth the source version will match the shared-library major and
* minor numbers; the shared-library major version number will be used for
...
...
@@ -278,8 +278,8 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.3
7
"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.3
7 - April 14, 2019
\n"
#define PNG_LIBPNG_VER_STRING "1.6.3
8
"
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.3
8 - September 14, 2022
\n"
#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
...
...
@@ -287,7 +287,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 3
7
#define PNG_LIBPNG_VER_RELEASE 3
8
/* This should be zero for a public release, or non-zero for a
* development version. [Deprecated]
...
...
@@ -318,7 +318,7 @@
* From version 1.0.1 it is:
* XXYYZZ, where XX=major, YY=minor, ZZ=release
*/
#define PNG_LIBPNG_VER 1063
7
/* 1.6.37
*/
#define PNG_LIBPNG_VER 1063
8
/* 1.6.38
*/
/* Library configuration: these options cannot be changed after
* the library has been built.
...
...
@@ -428,7 +428,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_3
7
;
typedef
char
*
png_libpng_version_1_6_3
8
;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
...
...
@@ -1446,7 +1446,7 @@ PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action,
* mainly useful for testing, as the defaults should work with most users.
* Those users who are tight on memory or want faster performance at the
* expense of compression can modify them. See the compression library
* header file (zlib.h) for an expl
i
nation of the compression functions.
* header file (zlib.h) for an expl
a
nation of the compression functions.
*/
/* Set the filtering method(s) used by libpng. Currently, the only valid
...
...
@@ -1501,7 +1501,7 @@ PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed,
* 0 - 9, corresponding directly to the zlib compression levels 0 - 9
* (0 - no compression, 9 - "maximal" compression). Note that tests have
* shown that zlib compression levels 3-6 usually perform as well as level 9
* for PNG images, and do considerably fewer ca
cl
ulations. In the future,
* for PNG images, and do considerably fewer ca
lc
ulations. In the future,
* these values may not correspond directly to the zlib compression levels.
*/
#ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED
...
...
libs/png/pngconf.h
View file @
d4ce1fd7
/* pngconf.h - machine-configurable file for libpng
*
* libpng version 1.6.3
7
* libpng version 1.6.3
8
*
* Copyright (c) 2018-20
19
Cosmin Truta
* Copyright (c) 2018-20
22
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -180,8 +180,8 @@
* compiler-specific macros to the values required to change the calling
* conventions of the various functions.
*/
#if defined(_W
indows) || defined(_WINDOWS) || defined(WIN32) ||
\
defined(_
WIN32) || defined(__WIN32__) || defined(_
_CYGWIN__)
#if defined(_W
IN32) || defined(__WIN32__) || defined(__NT__) ||
\
defined(__CYGWIN__)
/* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or
* MinGW on any architecture currently supported by Windows. Also includes
* Watcom builds but these need special treatment because they are not
...
...
libs/png/pngget.c
View file @
d4ce1fd7
...
...
@@ -1151,7 +1151,7 @@ png_get_unknown_chunks(png_const_structrp png_ptr, png_inforp info_ptr,
#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
png_byte
PNGAPI
png_get_rgb_to_gray_status
(
png_const_structrp
png_ptr
)
png_get_rgb_to_gray_status
(
png_const_structrp
png_ptr
)
{
return
(
png_byte
)(
png_ptr
?
png_ptr
->
rgb_to_gray_status
:
0
);
}
...
...
@@ -1192,27 +1192,27 @@ png_get_compression_buffer_size(png_const_structrp png_ptr)
/* These functions were added to libpng 1.2.6 and were enabled
* by default in libpng-1.4.0 */
png_uint_32
PNGAPI
png_get_user_width_max
(
png_const_structrp
png_ptr
)
png_get_user_width_max
(
png_const_structrp
png_ptr
)
{
return
(
png_ptr
?
png_ptr
->
user_width_max
:
0
);
}
png_uint_32
PNGAPI
png_get_user_height_max
(
png_const_structrp
png_ptr
)
png_get_user_height_max
(
png_const_structrp
png_ptr
)
{
return
(
png_ptr
?
png_ptr
->
user_height_max
:
0
);
}
/* This function was added to libpng 1.4.0 */
png_uint_32
PNGAPI
png_get_chunk_cache_max
(
png_const_structrp
png_ptr
)
png_get_chunk_cache_max
(
png_const_structrp
png_ptr
)
{
return
(
png_ptr
?
png_ptr
->
user_chunk_cache_max
:
0
);
}
/* This function was added to libpng 1.4.1 */
png_alloc_size_t
PNGAPI
png_get_chunk_malloc_max
(
png_const_structrp
png_ptr
)
png_get_chunk_malloc_max
(
png_const_structrp
png_ptr
)
{
return
(
png_ptr
?
png_ptr
->
user_chunk_malloc_max
:
0
);
}
...
...
@@ -1221,13 +1221,13 @@ png_get_chunk_malloc_max (png_const_structrp png_ptr)
/* These functions were added to libpng 1.4.0 */
#ifdef PNG_IO_STATE_SUPPORTED
png_uint_32
PNGAPI
png_get_io_state
(
png_const_structrp
png_ptr
)
png_get_io_state
(
png_const_structrp
png_ptr
)
{
return
png_ptr
->
io_state
;
}
png_uint_32
PNGAPI
png_get_io_chunk_type
(
png_const_structrp
png_ptr
)
png_get_io_chunk_type
(
png_const_structrp
png_ptr
)
{
return
png_ptr
->
chunk_name
;
}
...
...
libs/png/pngpriv.h
View file @
d4ce1fd7
/* pngpriv.h - private declarations for use inside libpng
*
* Copyright (c) 2018-20
19
Cosmin Truta
* Copyright (c) 2018-20
22
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -174,7 +174,7 @@
# else
/* !defined __ARM_NEON__ */
/* The 'intrinsics' code simply won't compile without this -mfpu=neon:
*/
# if !defined(__aarch64__)
# if !defined(__aarch64__)
&& !defined(_M_ARM64)
/* The assembler code currently does not work on ARM64 */
# define PNG_ARM_NEON_IMPLEMENTATION 2
# endif
/* __aarch64__ */
...
...
@@ -185,6 +185,8 @@
/* Use the intrinsics code by default. */
# define PNG_ARM_NEON_IMPLEMENTATION 1
# endif
#else
/* PNG_ARM_NEON_OPT == 0 */
# define PNG_ARM_NEON_IMPLEMENTATION 0
#endif
/* PNG_ARM_NEON_OPT > 0 */
#ifndef PNG_MIPS_MSA_OPT
...
...
@@ -263,11 +265,15 @@
# ifndef PNG_MIPS_MSA_IMPLEMENTATION
# define PNG_MIPS_MSA_IMPLEMENTATION 1
# endif
#else
# define PNG_MIPS_MSA_IMPLEMENTATION 0
#endif
/* PNG_MIPS_MSA_OPT > 0 */
#if PNG_POWERPC_VSX_OPT > 0
# define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_vsx
# define PNG_POWERPC_VSX_IMPLEMENTATION 1
#else
# define PNG_POWERPC_VSX_IMPLEMENTATION 0
#endif
...
...
@@ -492,16 +498,7 @@
static_cast<type>(static_cast<const void*>(value))
#else
# define png_voidcast(type, value) (value)
# ifdef _WIN64
# ifdef __GNUC__
typedef
unsigned
long
long
png_ptruint
;
# else
typedef
unsigned
__int64
png_ptruint
;
# endif
# else
typedef
unsigned
long
png_ptruint
;
# endif
# define png_constcast(type, value) ((type)(png_ptruint)(const void*)(value))
# define png_constcast(type, value) ((type)(void*)(const void*)(value))
# define png_aligncast(type, value) ((void*)(value))
# define png_aligncastconst(type, value) ((const void*)(value))
#endif
/* __cplusplus */
...
...
@@ -543,9 +540,8 @@
# include <alloc.h>
#endif
#if defined(WIN32) || defined(_Windows) || defined(_WINDOWS) || \
defined(_WIN32) || defined(__WIN32__)
# include <windows.h>
/* defines _WINDOWS_ macro */
#if defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
# include <windows.h>
#endif
#endif
/* PNG_VERSION_INFO_ONLY */
...
...
@@ -554,13 +550,9 @@
* functions that are passed far data must be model-independent.
*/
/*
Memory model/platform independent f
ns */
/*
Platform-independent functio
ns */
#ifndef PNG_ABORT
# ifdef _WINDOWS_
# define PNG_ABORT() ExitProcess(0)
# else
# define PNG_ABORT() abort()
# endif
#endif
/* These macros may need to be architecture dependent. */
...
...
@@ -585,26 +577,25 @@
/* This is used because in some compiler implementations non-aligned
* structure members are supported, so the offsetof approach below fails.
* Set PNG_ALIGN_SIZE=0 for compiler combinations where unaligned access
* is good for performance. Do not do this unless you have tested the
result
* and understand it.
* is good for performance. Do not do this unless you have tested the
*
result
and understand it.
*/
# define png_alignof(type) (sizeof
(type))
# define png_alignof(type) (sizeof(type))
#else
# if PNG_ALIGN_TYPE == PNG_ALIGN_OFFSET
# define png_alignof(type) offsetof(struct{char c; type t;}, t)
# else
# if PNG_ALIGN_TYPE == PNG_ALIGN_ALWAYS
#
define png_alignof(type) (1)
#
define png_alignof(type) 1
# endif
/* Else leave png_alignof undefined to prevent use thereof */
# endif
#endif
/* This implicitly assumes alignment is always
to a power
of 2. */
/* This implicitly assumes alignment is always
a multiple
of 2. */
#ifdef png_alignof
# define png_isaligned(ptr, type)\
(((type)((const char*)ptr-(const char*)0) & \
(type)(png_alignof(type)-1)) == 0)
# define png_isaligned(ptr, type) \
(((type)(size_t)((const void*)(ptr)) & (type)(png_alignof(type)-1)) == 0)
#else
# define png_isaligned(ptr, type) 0
#endif
...
...
libs/png/pngread.c
View file @
d4ce1fd7
...
...
@@ -3452,7 +3452,6 @@ png_image_read_background(png_voidp argument)
for
(
pass
=
0
;
pass
<
passes
;
++
pass
)
{
png_bytep
row
=
png_voidcast
(
png_bytep
,
display
->
first_row
);
unsigned
int
startx
,
stepx
,
stepy
;
png_uint_32
y
;
...
...
@@ -3557,8 +3556,6 @@ png_image_read_background(png_voidp argument)
inrow
+=
2
;
/* gray and alpha channel */
}
row
+=
display
->
row_bytes
;
}
}
}
...
...
libs/png/pngrtran.c
View file @
d4ce1fd7
...
...
@@ -21,7 +21,7 @@
#ifdef PNG_ARM_NEON_IMPLEMENTATION
# if PNG_ARM_NEON_IMPLEMENTATION == 1
# define PNG_ARM_NEON_INTRINSICS_AVAILABLE
# if defined(_MSC_VER) && defined(_M_ARM64)
# if defined(_MSC_VER) &&
!defined(__clang__) &&
defined(_M_ARM64)
# include <arm64_neon.h>
# else
# include <arm_neon.h>
...
...
libs/png/pngrutil.c
View file @
d4ce1fd7
/* pngrutil.c - utilities to read a PNG file
*
* Copyright (c) 2018 Cosmin Truta
* Copyright (c) 2018
-2022
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -302,7 +302,6 @@ png_read_buffer(png_structrp png_ptr, png_alloc_size_t new_size, int warn)
if
(
buffer
!=
NULL
&&
new_size
>
png_ptr
->
read_buffer_size
)
{
png_ptr
->
read_buffer
=
NULL
;
png_ptr
->
read_buffer
=
NULL
;
png_ptr
->
read_buffer_size
=
0
;
png_free
(
png_ptr
,
buffer
);
buffer
=
NULL
;
...
...
@@ -2076,20 +2075,21 @@ png_handle_eXIf(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
png_byte
buf
[
1
];
png_crc_read
(
png_ptr
,
buf
,
1
);
info_ptr
->
eXIf_buf
[
i
]
=
buf
[
0
];
if
(
i
==
1
&&
buf
[
0
]
!=
'M'
&&
buf
[
0
]
!=
'I'
&&
info_ptr
->
eXIf_buf
[
0
]
!=
buf
[
0
])
if
(
i
==
1
)
{
png_crc_finish
(
png_ptr
,
length
);
if
((
buf
[
0
]
!=
'M'
&&
buf
[
0
]
!=
'I'
)
||
(
info_ptr
->
eXIf_buf
[
0
]
!=
buf
[
0
]))
{
png_crc_finish
(
png_ptr
,
length
-
2
);
png_chunk_benign_error
(
png_ptr
,
"incorrect byte-order specifier"
);
png_free
(
png_ptr
,
info_ptr
->
eXIf_buf
);
info_ptr
->
eXIf_buf
=
NULL
;
return
;
}
}
}
if
(
png_crc_finish
(
png_ptr
,
0
)
!=
0
)
return
;
if
(
png_crc_finish
(
png_ptr
,
0
)
==
0
)
png_set_eXIf_1
(
png_ptr
,
info_ptr
,
length
,
info_ptr
->
eXIf_buf
);
png_free
(
png_ptr
,
info_ptr
->
eXIf_buf
);
...
...
@@ -2126,8 +2126,9 @@ png_handle_hIST(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
num
=
length
/
2
;
if
(
num
!=
(
unsigned
int
)
png_ptr
->
num_palette
||
num
>
(
unsigned
int
)
PNG_MAX_PALETTE_LENGTH
)
if
(
length
!=
num
*
2
||
num
!=
(
unsigned
int
)
png_ptr
->
num_palette
||
num
>
(
unsigned
int
)
PNG_MAX_PALETTE_LENGTH
)
{
png_crc_finish
(
png_ptr
,
length
);
png_chunk_benign_error
(
png_ptr
,
"invalid"
);
...
...
@@ -4621,14 +4622,13 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
*/
{
png_bytep
temp
=
png_ptr
->
big_row_buf
+
32
;
int
extra
=
(
int
)((
temp
-
(
png_bytep
)
0
)
&
0x0f
)
;
size_t
extra
=
(
size_t
)
temp
&
0x0f
;
png_ptr
->
row_buf
=
temp
-
extra
-
1
/*filter byte*/
;
temp
=
png_ptr
->
big_prev_row
+
32
;
extra
=
(
int
)((
temp
-
(
png_bytep
)
0
)
&
0x0f
)
;
extra
=
(
size_t
)
temp
&
0x0f
;
png_ptr
->
prev_row
=
temp
-
extra
-
1
/*filter byte*/
;
}
#else
/* Use 31 bytes of padding before and 17 bytes after row_buf. */
png_ptr
->
row_buf
=
png_ptr
->
big_row_buf
+
31
;
...
...
libs/png/pngset.c
View file @
d4ce1fd7
/* pngset.c - storage of image information into info struct
*
* Copyright (c) 2018 Cosmin Truta
* Copyright (c) 2018
-2022
Cosmin Truta
* Copyright (c) 1998-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -1019,6 +1019,9 @@ png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr,
info_ptr
->
trans_alpha
=
png_voidcast
(
png_bytep
,
png_malloc
(
png_ptr
,
PNG_MAX_PALETTE_LENGTH
));
memcpy
(
info_ptr
->
trans_alpha
,
trans_alpha
,
(
size_t
)
num_trans
);
info_ptr
->
valid
|=
PNG_INFO_tRNS
;
info_ptr
->
free_me
|=
PNG_FREE_TRNS
;
}
png_ptr
->
trans_alpha
=
info_ptr
->
trans_alpha
;
}
...
...
@@ -1326,7 +1329,7 @@ png_set_unknown_chunk_location(png_const_structrp png_ptr, png_inforp info_ptr,
#ifdef PNG_MNG_FEATURES_SUPPORTED
png_uint_32
PNGAPI
png_permit_mng_features
(
png_structrp
png_ptr
,
png_uint_32
mng_features
)
png_permit_mng_features
(
png_structrp
png_ptr
,
png_uint_32
mng_features
)
{
png_debug
(
1
,
"in png_permit_mng_features"
);
...
...
@@ -1633,7 +1636,7 @@ png_set_invalid(png_const_structrp png_ptr, png_inforp info_ptr, int mask)
#ifdef PNG_SET_USER_LIMITS_SUPPORTED
/* This function was added to libpng 1.2.6 */
void
PNGAPI
png_set_user_limits
(
png_structrp
png_ptr
,
png_uint_32
user_width_max
,
png_set_user_limits
(
png_structrp
png_ptr
,
png_uint_32
user_width_max
,
png_uint_32
user_height_max
)
{
/* Images with dimensions larger than these limits will be
...
...
@@ -1649,7 +1652,7 @@ png_set_user_limits (png_structrp png_ptr, png_uint_32 user_width_max,
/* This function was added to libpng 1.4.0 */
void
PNGAPI
png_set_chunk_cache_max
(
png_structrp
png_ptr
,
png_uint_32
user_chunk_cache_max
)
png_set_chunk_cache_max
(
png_structrp
png_ptr
,
png_uint_32
user_chunk_cache_max
)
{
if
(
png_ptr
!=
NULL
)
png_ptr
->
user_chunk_cache_max
=
user_chunk_cache_max
;
...
...
@@ -1657,7 +1660,7 @@ png_set_chunk_cache_max (png_structrp png_ptr, png_uint_32 user_chunk_cache_max)
/* This function was added to libpng 1.4.1 */
void
PNGAPI
png_set_chunk_malloc_max
(
png_structrp
png_ptr
,
png_set_chunk_malloc_max
(
png_structrp
png_ptr
,
png_alloc_size_t
user_chunk_malloc_max
)
{
if
(
png_ptr
!=
NULL
)
...
...
libs/png/pngstruct.h
View file @
d4ce1fd7
/* pngstruct.h - header file for PNG reference library
*
* Copyright (c) 2018-20
19
Cosmin Truta
* Copyright (c) 2018-20
22
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -334,18 +334,8 @@ struct png_struct_def
size_t
current_buffer_size
;
/* amount of data now in current_buffer */
int
process_mode
;
/* what push library is currently doing */
int
cur_palette
;
/* current push library palette index */
#endif
/* PROGRESSIVE_READ */
#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
/* For the Borland special 64K segment handler */
png_bytepp
offset_table_ptr
;
png_bytep
offset_table
;
png_uint_16
offset_table_number
;
png_uint_16
offset_table_count
;
png_uint_16
offset_table_count_free
;
#endif
#ifdef PNG_READ_QUANTIZE_SUPPORTED
png_bytep
palette_lookup
;
/* lookup table for quantizing */
png_bytep
quantize_index
;
/* index translation for palette files */
...
...
libs/png/pngwrite.c
View file @
d4ce1fd7
/* pngwrite.c - general routines to write a PNG file
*
* Copyright (c) 2018-20
19
Cosmin Truta
* Copyright (c) 2018-20
22
Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
...
...
@@ -489,6 +489,16 @@ png_convert_from_time_t(png_timep ptime, time_t ttime)
png_debug
(
1
,
"in png_convert_from_time_t"
);
tbuf
=
gmtime
(
&
ttime
);
if
(
tbuf
==
NULL
)
{
/* TODO: add a safe function which takes a png_ptr argument and raises
* a png_error if the ttime argument is invalid and the call to gmtime
* fails as a consequence.
*/
memset
(
ptime
,
0
,
sizeof
(
*
ptime
));
return
;
}
png_convert_from_struct_tm
(
ptime
,
tbuf
);
}
#endif
...
...
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