|
b60656ec
|
2022-09-14T21:35:33
|
|
scripts: Disable the hardware-optimized compilation in legacy makefiles
Fix the legacy makefile builds on ARM, MIPS and PowerPC, where
hardware-optimized compilation was enabled by default in the generic
source files, but without including the machine-specific source files.
Delete scripts/makefile.linux-opt.
|
|
c64655d0
|
2022-09-14T21:18:20
|
|
scripts: Set the compiler warning options to "-Wall -Wextra -Wundef"
Considering that "-Wextra" is a more descriptive alternative to "-W",
and that "-Wundef" is a highly useful warning option that has been
available in ancient versions of gcc (version 2.x), we replace all
occurrences of "-W -Wall" with "-Wall -Wextra -Wundef".
Also clean up the makefiles.
|
|
8b7b99c1
|
2022-09-14T11:53:47
|
|
scripts: Clean up the logging in makefile.std and pnglibconf.mak
The console logs produced by these scripts should be easy to follow,
especially on CI bots.
Delete the unnecessary macros ECHO and SED.
Add a new macro MV_F (for "mv -f"), alongside RM_F (for "rm -f").
|
|
62c027d4
|
2022-09-14T11:30:14
|
|
Fix handling incorrect hIST chunks of uneven size
The hIST chunks, used for storing image histograms, contain arrays of
16-bit unsigned integers, and the chunk size is expected to be an even
number. Raise a png_chunk_benign_error() if a hIST chunk fails to meet
this expectation.
Reported-by: Eugene Kliuchnikov <eustas@google.com>
|
|
e9e9801a
|
2022-09-14T11:07:36
|
|
Simplify the definition of png_isaligned and avoid compiler warnings
The following pointer subtraction was unnecessary:
((const char*)(ptr)-(const char*)0)
In order to avoid further warnings about casting a wide pointer type
to a narrower integer type, we cast the pointer to the target integer
type through (size_t).
Also fix a comment and reformat the surrounding code.
|
|
0c2388cd
|
2022-09-14T08:54:57
|
|
projects: Delete the definition of _WINDOWS from the VStudio project
The _WINDOWS macro should not be defined on a modern Windows platform.
This macro was predefined by 16-bit Windows compilers only.
|
|
9cb84c4c
|
2022-09-14T08:54:57
|
|
Delete vestigial declarations formerly used on 16-bit platforms
Delete the structure members used in the 16-bit Turbo C memory models.
Delete the PNG_ABORT declaration used in the 16-bit Windows build.
Stop checking macros (e.g. _WINDOWS) predefined by 16-bit Windows
compilers (but do check the __NT__ macro, which was the only one
predefined by ancient Windows NT compilers).
|
|
8c542ad9
|
2022-09-14T00:42:48
|
|
arm: Do not allow PNG_ARM_NEON_CHECK_SUPPORTED on ARM64
ARM Neon is expected to be unconditionally available on ARM64.
Issue an #error if PNG_ARM_NEON_CHECK_SUPPORTED is defined on an
ARM64-based platform.
For the plain ARM platforms where ARM Neon checking is not yet
implemented, issue a slightly more descriptive #error, including
a suggested course of action.
|
|
2abaf81e
|
2022-09-14T00:12:11
|
|
arm: Avoid compiler warnings in palette_neon_intrinsics.c
Use correct int types; wrap PNG_UNUSED around unused arguments.
|
|
ad0245bb
|
2020-05-02T20:29:26
|
|
Avoid -Wundef for MIPS and PPC symbols too
This is similar to d532334ef (Avoid -Wundef warnings when building
libpng, 2017-11-13), but for the similar symbols used under the other
architectures: always define them, even if just as 0, to avoid gcc
warnings when comparing them with 0 later.
|
|
1f974dd2
|
2020-02-04T22:48:25
|
|
Avoid -Wundef warnings for PNG_ARM_NEON_IMPLEMENTATION
Define this symbol as 0 instead of leaving it undefined when not using
ARM NEON optimizations.
No real changes, but just avoid a bunch of
"PNG_ARM_NEON_IMPLEMENTATION" is not defined, evaluates to 0 [-Wundef]
warnings when building the library.
|
|
3ec225dd
|
2019-02-12T14:17:27
|
|
Fix a memory leak in png_set_tRNS
This leak was discovered by OSS-Fuzz.
The old structure of the code was along the lines of:
allocate trans_alpha;
if (problem) {
// Jumps away from this function
png_warning("tRNS chunk has out-of-range samples for bit_depth");
}
mark trans_alpha as to-free;
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
36bd1bbd
|
2022-09-13T13:49:02
|
|
Fix a crash in png_convert_from_time_t with an invalid time_t argument
This bug was found by FUTAG, a program for generating automated
fuzz-targets of libraries.
TODO:
Implement a safe function, alternative to png_convert_from_time_t,
which takes a png_ptr argument and raises a png_error if the time_t
argument is invalid.
Reported-by: Tran Chi Thien <thientc@ispras.ru>
Reported-by: Shamil Kurmangaleev <kursh@ispras.ru>
|
|
0406deb1
|
2022-09-13T01:54:17
|
|
Fix private macro png_constcast; delete private type png_ptruint
In order to appease the compiler warnings that might affect the uses
of png_constcast, it should be sufficient to cast the source pointer
type to (const void*), and then to (void*), and then to the destination
pointer type. An intermediate cast through an integer type, such as
(png_ptruint), should not be needed.
|
|
5f5f98a1
|
2021-07-26T21:45:09
|
|
Fix an instance of -Wunused-but-set-variable.
Bug: chromium:1203071
|
|
f10c6bb6
|
2020-07-08T23:59:46
|
|
Add spaces around '/*' and '*/'
Like most other Qt coding styles, the necessary spaces should be added
to the sides of '/*' and '*/'
|
|
f16427e5
|
2022-01-08T06:41:50
|
|
Fix various typos
Found via `codespell -q 3 -S ./ltmain.sh,./scripts/libtool.m4 -L ake,ans,ba,bloc,crashers,doed,inout,lengthh,maked,paeth,parm,parms,redy,unx`
|
|
6aff792b
|
2022-09-13T01:23:52
|
|
projects: Update the README file of the Visual Studio project
|
|
ed8840a3
|
2021-10-28T12:54:00
|
|
projects: Add ARM64 to Visual Studio project
|
|
efdb24e5
|
2021-10-28T12:51:13
|
|
projects: Fix C2220 warning errors for VS2019
It sets warning level lower and not treat as errors because of
C2220 warnings are escalated to errors in Visual Studio 2019.
|
|
1f20bc1e
|
2021-10-28T12:20:45
|
|
projects: Upgrade to Visual Studio 2019
|
|
bbab5710
|
2021-10-27T18:45:08
|
|
scripts: Add makefile for win-arm64
This makefile is based on makefile.vcwin32, but includes Neon
intrinsic optimization.
Co-authored-by: Gabor Kertesz <gabor.kertesz@linaro.org>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
a1a81cc2
|
2021-10-25T12:03:42
|
|
Fix arm neon config for win-arm64 with MSVC
Fixes #398
It adds win-arm64 as an arm64 platform, by using a define which
is set to 1 for compilations that target 64-bit ARM processors,
otherwise undefined.
|
|
c3a1d842
|
2022-09-13T00:56:32
|
|
Update INSTALL
|
|
eda0f47f
|
2020-10-03T11:51:35
|
|
Fix typo in libpng manual
|
|
3848c73a
|
2022-09-12T13:50:32
|
|
cmake: Refactor the PNGLIB variables that define the versioning scheme
|
|
dd8db810
|
2022-09-10T23:50:49
|
|
cmake: Fix the shared build on Android
The ld version script should not be generated on Android.
Co-authored-by: Volker Krause <vkrause@kde.org>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
763c77e6
|
2021-05-22T01:09:48
|
|
cmake: Fix compilation on systems without libm
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
840af2ed
|
2022-03-10T01:08:09
|
|
cmake: Fix the build on Unix with source files checked out on Windows
The issue is that, by default, Git for Windows checks out text files
with CRLF line endings. This is a problem for awk, which is expecting
Unix-style LF line endings. When cloning on Windows and attempting to
compile on WSL, Mingw or Cygwin, there may be an error from awk.
The fix is to leverage CMake's ability to configure a file and perform
EOL conversions. We copy the awk scripts from the source directory to
the build directory. This portable method ensures they have LF endings,
and the build logic is updated to use the build directory version.
Intentionally avoiding .gitattributes to avoid setting precedent.
Co-authored-by: Christopher Sean Morrison <brlcad@gmail.com>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
8a354b41
|
2020-12-14T21:24:33
|
|
cmake: Fix cross-compilation on macOS
Co-authored-by: Owen Rudge <owen@owenrudge.net>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
0fe598d2
|
2022-09-10T20:45:21
|
|
cmake: Rename the target "symbol-check" to "scripts_symbols_chk"
Follow the general conventions for naming CMake targets.
|
|
cbf8c64b
|
2021-12-04T11:23:42
|
|
cmake: Correctly handle generated files
Generated files depend on other generated files, and this previously
resulted in the same custom command output being a dependency of
multiple other custom commands without a shared custom targets.
Adds a top-level target for each generated file and ensures that
commands that depend on generated files also depend on the corresponding
custom targets.
Per CMake documentation:
> Do not list the output in more than one independent target
> that may build in parallel or the two instances of the rule
> may conflict (instead use add_custom_target to drive the command
> and make the other targets depend on that one).
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
6a42bc1c
|
2022-09-05T21:03:20
|
|
configure: Initialize PNG_ARM_NEON_OPT and PNG_MIPS_MSA_OPT correctly
|
|
9e32b6f1
|
2022-09-05T17:30:06
|
|
Rerun "./autogen.sh --maintainer"
|
|
cc0e9597
|
2022-09-05T17:30:06
|
|
Clean up configure.ac
Remove the obsolete autoconf macros:
AC_C_CONST, AC_HEADER_STDC, AC_TYPE_SIZE_T, AC_FUNC_STRTOD.
Clean up comments and whitespace.
|
|
40342267
|
2021-06-02T14:38:52
|
|
Remove obsolete/incorrect __LLVM,__asm section
Contributed-by: Dan Field <dnfield@google.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
bfb0abe4
|
2022-09-04T20:21:30
|
|
Update the configuration for Travis CI and AppVeyor CI
Apply the following changes:
* Add FreeBSD (besides Linux and Mac) to the Travis CI testing.
* Use cc instead of clang for Xcode in the Travis CI testing.
* Upgrade the Windows test image from Visual Studio 2019 to
Visual Studio 2022 for AppVeyor CI.
|
|
081e6751
|
2022-09-04T19:41:33
|
|
ci: Update the CI scripts
Apply the following changes:
* Set CI_CMAKE_GENERATOR to "Ninja" by default in ci_cmake.sh.
* Set CI_CC to cc by default in ci_autotools.sh.
* Rename CI_SYSNAME to CI_SYSTEM_NAME; add CI_MACHINE_NAME.
* Apply other minor changes and fixes.
|
|
103f8346
|
2022-08-26T03:27:42
|
|
cmake: Set PNG_ARM_NEON to "on" by default on ARM64
Avoid build failures on all ARM64-based non-Linux systems.
PNG_ARM_NEON can be set to "check" on Linux/ARM32 only.
|
|
723b2d9f
|
2022-08-26T03:12:35
|
|
Update the copyright year
|
|
b7ea74c9
|
2021-03-15T20:23:26
|
|
Update the copyright year
|
|
8c3fdb0a
|
2021-03-15T20:23:26
|
|
ci: Update the CI scripts
Implement the following updates:
* Add CI_SYSNAME and set it to `uname -s`.
* Set the default CI_CC value to "clang" on all BSD systems.
* Replace CI_SRCDIR_REL_BUILDDIR and CI_INSTALLDIR_REL_BUILDDIR
with CI_SRCDIR_NATIVE and CI_INSTALLDIR_NATIVE.
The former variables were hard-coded and error-prone; the new
variables are computed and safe to use.
|
|
a37d4836
|
2020-12-15T14:45:21
|
|
Eliminate spaces between function name and (
|
|
37965188
|
2020-12-11T19:26:57
|
|
Remove duplicate line
|
|
8ca01083
|
2020-12-11T19:21:35
|
|
Fix typo in README
|
|
cd03aaf7
|
2020-12-11T19:12:40
|
|
Remove second call to write_eXIf
The second call to write_eXIf doesn't check whether the first call
succeeded; no other chunks except tIME and the text chunks seem to be
doubled like this.
The second call causes the eXIf chunk to incorrectly be written twice.
|
|
c4bd411c
|
2019-12-19T18:33:21
|
|
Fix decode fail on image with invalid eXIf chunk
|
|
2224c8ea
|
2020-07-28T09:17:27
|
|
Add a check to pngimage.c
Check the result of png_get_IHDR inside the compare_read function.
Contributed-by: Kleber Tarcísio
Signed-off-by: Cosmin Truta
|
|
e2bb5e75
|
2021-03-12T22:54:32
|
|
contrib: Apply various fixes to libtests
pngimage.c:
Initialize sig_bits on a NOTREACHED path to avoid warnings about using
uninitialized variables.
pngstest.c:
Enlarge buffers and fix signedness to avoid legitimate warnings about
potential buffer overflows.
pngunknown.c:
pngvalid.c:
Use NULL instead of 0 for pointers and apply other style fixes.
makepng.c:
tarith.c:
Apply various style fixes.
Also remove the "last changed" version info from source comments.
The version control system maintains this information automatically.
|
|
d6e13b2a
|
2020-12-31T04:08:35
|
|
.gitignore: Add
|
|
c2e2cd2e
|
2020-12-31T03:29:11
|
|
ci: Fix the Visual Studio verification on AppVeyor CI
The Unix paths in Bash do not mix well with the Windows paths in CMake.
The uppercase and the lowercase environment variables do not mix well
in MSBuild. Et cetera.
On AppVeyor CI, verification of Windows builds with the Visual Studio
toolchain used to work, perhaps due to one or more lucky coincidences,
but it stopped working after an upgrade on the AppVeyor CI site.
Update ci_cmake.sh as follows:
* Use POSIX commands like "mkdir" and "rm" instead of CMake commands
like "make_directory" and "remove_directory".
* Avoid using absolute paths in the CMake command line; use relative
paths that are accessible from both Bash and Windows.
* Clean up incidental mixtures of Windows and Bash-on-Windows
environment variables like {$TEMP,$Temp,$temp} and {$TMP,$Tmp,$tmp}.
|
|
c3f20917
|
2020-12-31T00:41:01
|
|
ci: Recognize more CI_ variables for better cross-platform verification
For ci_autotools.sh, customize CPP, CPPFLAGS, AR, RANLIB, LD, LDFLAGS
via CI_CPP, CI_CPP_FLAGS, CI_AR, CI_RANLIB, CI_LD, CI_LD_FLAGS.
For ci_cmake.sh and ci_legacy.sh, customize AR, AR_RC and RANLIB via
CI_AR and CI_RANLIB.
Rewrite portions of ci_legacy.sh to match the style of ci_cmake.sh.
|
|
dbe3e0c4
|
2018-03-19T12:41:47
|
|
libpng.pc.in: zlib dependency is private
zlib should be injected only when pkgconfig is ran with the --static
option.
|
|
2f753e26
|
2020-05-24T22:09:45
|
|
ci: Verify the install target
Add support for the install target in ci_autotools.sh and ci_cmake.sh.
Also add the environment option CI_NO_INSTALL.
|
|
f5d5f5ae
|
2020-05-24T22:01:40
|
|
cmake: Refactor the install target; reformat
Use standard CMake variables in the install target.
Reformulate comments and error messages.
Move all CMake keywords in front of their arguments.
Fix indentation.
|
|
3676fd32
|
2020-05-18T21:30:30
|
|
ci: Add a new top-level directory, dedicated for CI verification
Update the ci_*.sh scripts and move them to the more conventional
ci/ directory. Update .appveyor.yml and .travis.yml, as well as
the AUTHORS file, accordingly.
Speed up ci_cmake.sh: add "-DPNG_TESTS=OFF" to the list of CMake
variables if CI_NO_TEST is true.
Remove "sudo: false" from .travis.yml.
Refactor .appveyor.yml.
|
|
28c0f889
|
2018-05-20T18:46:32
|
|
cmake: Add an option to enable/disable building of executables
Add the CMake option PNG_EXECUTABLES (on by default) in order to
allow or disallow the building of non-essential executable programs
associated with libpng.
Contributed-by: Alex Gaynor <alex.gaynor@gmail.com>
Contributed-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
87378bc2
|
2020-05-17T20:26:28
|
|
mips: Remove "last changed" version information from source comment
This information is maintained by the version control system.
|
|
6c6f7d10
|
2020-03-06T14:35:57
|
|
mips: Fix initialization: always close "/proc/cpuinfo"
|
|
6842c58a
|
2019-08-30T10:07:09
|
|
Fix CMake build with Emscripten
When building with Emscripten, linkage to libm is neither required
nor working. As find_library will fail, M_LIBRARY will be set to
NOTFOUND and the build would fail later. The build works just fine
without libm linkage.
|
|
a6fc8030
|
2019-08-26T15:04:51
|
|
Add an __LLVM,__asm section for clang builds on ARM
|
|
5e8b45c4
|
2019-08-24T13:25:14
|
|
cmake: Fix a build error on iOS
Avoid the awk-based configuration when cross-compiling from macOS
to iOS.
|
|
6dd99ca9
|
2019-08-02T18:37:04
|
|
Fix example.c
|
|
52ee1676
|
2019-07-30T16:01:13
|
|
Fix a warning on Linux caused by _BSD_SOURCE
I got a warning while compiling under Ubuntu 18.04 and gcc 7.4:
"__BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
Quote from the Linux Programmer's Manual:
"To allow code that requires _BSD_SOURCE in glibc 2.19 and earlier and
_DEFAULT_SOURCE in glibc 2.20 and later to compile without warnings,
define both _BSD_SOURCE and _DEFAULT_SOURCE."
|
|
eb676727
|
2019-07-29T15:22:06
|
|
Fix memory leak if eXIf has incorrect crc
Problem description:
Imagine a bitstream with an eXIf data segment that has invalid CRC.
If png_crc_finish() fails at line 2090, info_ptr->eXIf_buf is not freed
(despite the free_me setting at line 2062) because png_free_data() is
not called. png_read_info() is actually looping several time over the
png_eXIf chunk, calling png_handle_eXIf() several time in a row without
freeing the buffer.
This patch fixes the problem by leaving info_ptr's content in a clean
state in case of failure, as it is done at line 2084.
|
|
9f734b13
|
2019-07-04T15:15:53
|
|
cmake: Use the correct ZLIB_* variable names
ZLIB_LIBRARIES and ZLIB_INCLUDE_DIRS are the official cmake variable
names.
|
|
3cec1a16
|
2020-03-29T23:58:29
|
|
scripts: Clean up the makefiles
Delete variables (ALIGN, ARCH, DOCS) and targets (writelock) that are
no longer necessary.
Reorder the object file lists alphabetically, consistently across all
makefiles and build scripts.
Apply other minor fixes.
|
|
50bd1abd
|
2020-03-29T22:26:32
|
|
scripts: Fix makefile.std and include it in the CI verification
|
|
2dd5630e
|
2020-03-29T01:11:42
|
|
Update configuration for Travis CI; add configuration for AppVeyor CI
Exclude the branch "libpng16" from testing. It's identical to "master".
Also exclude the other (non-current) "libpng[0-1][0-7]" branches.
Parallelize the builds and the unit tests.
For Travis CI, update the build matrix as follows:
* On Linux, use both clang and gcc.
* On macOS, use clang only, with and without Xcode.
For AppVeyor CI, add a build matrix as follows:
* On Windows, use Microsoft Visual Studio 2019 on x86, x64 and arm64.
* Also on Windows, use MSYS2 on x86 and x64.
Use the new scripts/ci_*.sh; remove the old scripts/travis.sh.
|
|
b9155ce3
|
2020-03-29T00:41:33
|
|
scripts: Add general-purpose utilities for continuous integration
Currently, libpng supports three different types of build automation:
the GNU autotools, CMake, and a legacy of hand-made makefiles.
In order to simplify the continous integration of all of the above
build options, we introduce the following scripts:
* ci_autotools.sh: CI utility for the Autotools build
* ci_cmake.sh: CI utility for the CMake build
* ci_legacy.sh: CI utility for the legacy makefiles
|
|
2c0aee56
|
2020-02-02T20:02:00
|
|
Update the copyright year
|
|
301f7a14
|
2018-11-12T09:47:32
|
|
oss-fuzz: Add custom malloc with max limit to prevent OOM
This adds the custom malloc/free functions from the old
libpng_read_fuzzer to the upstream fuzzer to prevent clusterfuzz
running into OOM.
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=904054
Contributed-by: Christopher Thompson <cthomp@chromium.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
386707c6
|
2019-04-16T12:51:06
|
|
arm: Use <arm_neon.h> when compiling aarch64 intrinsics with clang-cl
MSVC's <arm64_neon.h> header contains cl.exe intrinsics that are not
recognized by clang-cl.
Contributed-by: Ryan VanderMeulen <rvandermeulen@mozilla.com>
Contributed-by: Mike Klein <mtklein@google.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
216387f6
|
2019-04-22T23:56:57
|
|
arm: Move a png_debug statement to its correct place
It should be placed immediately after all variable declarations.
|
|
b9e811fa
|
2019-04-22T23:00:58
|
|
scripts: Delete makefile.clang-asan and makefile.gcc-asan
Travis CI is now running sanitizer-enabled test jobs.
|
|
cdbb8ec7
|
2019-04-22T23:00:58
|
|
Add support for Travis CI
|
|
72fa1264
|
2019-04-21T00:30:14
|
|
Avoid random test failures by running pngtest sequentially only
It is unreliable to run pngtest in parallel, due to competing writes
to the same intermediate/output file ("pngout.png").
Customization of this output file name should be possible, but it is
currently broken.
|
|
5df8e982
|
2019-04-14T14:10:32
|
|
Bump version to 1.6.38.git
|
|
a40189cf
|
2019-04-14T14:10:32
|
|
Release libpng version 1.6.37
|
|
8da8257d
|
2019-04-12T10:51:28
|
|
Fix typo in the new v2 license
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
27e8b992
|
2019-04-10T22:23:25
|
|
pngminus: Use the system zlib by default
If a zlib source tree exists besides the libpng source tree in the
same parent directory, the pngminus build may fail, unless the zlib
tree is built fully. In order to avoid this failing scenario, do not
use the custom-built zlib by default.
(The custom-built zlib is still necessary on platforms that lack a
system-built zlib.)
|
|
62a56d4f
|
2019-01-23T06:05:54
|
|
pngminus: Change license to MIT, etc.
Change the license to MIT.
Move the license text from the source files to a LICENSE file.
Move the change log from the source files to a CHANGES file.
Delete the Turbo C makefile and simplify the Linux makefile heavily.
Create explicitly named static and shared executables in the makefile.
Refresh the README file a bit from the twenty year old one.
Signed-off-by: Willem van Schaik <willem@schaik.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
3342fafa
|
2018-11-25T18:12:50
|
|
pngminus: Add a CMakeLists file
|
|
3f0f1d55
|
2018-08-05T21:49:57
|
|
pngminus: Improve portability and fix style (cont'd)
|
|
dcefbc7d
|
2018-08-05T21:44:11
|
|
pngminus: Improve portability and fix style
|
|
1f0221fa
|
2018-08-05T19:40:09
|
|
pngminus: Fix a buffer overflow in tokenizer
|
|
a627bd26
|
2019-04-07T19:50:12
|
|
arm: Partially revert "Fix a memory leak in the riffled palette [...]"
The memory leak remains fixed, but the associated refactoring is
being reverted. Moving the initialization of the riffled palette
from png_do_read_transformations to png_init_palette_transformations
has caused a regression in some of the test programs.
Although png_init_palette_transformations is the proper place to
perform this initialization, and the test programs are technically
incorrect to fail, we are still undoing that refactoring for the
time being.
|
|
82ae623e
|
2019-03-31T09:44:45
|
|
arm: Rename all functions to the pattern png_*_neon; add debug traces
|
|
9c0d5c77
|
2019-02-03T22:40:56
|
|
Call png_image_free_function without guarding it with png_safe_execute
png_image_free_function (or any other destructor) should never fail.
Destructors need not and must not be executed under png_safe_execute.
Reference: CVE-2019-7317, use-after-free in png_image_free
|
|
8439534d
|
2019-02-03T21:00:49
|
|
Fix a memory leak in pngtest.c
Ensure that row_buf is deallocated not only after a read error, but
also after a write error.
Use the format "%p" instead of "0x%08lx" for printf-ing row_buf in
a portable manner.
|
|
70d122aa
|
2019-02-03T19:51:18
|
|
Fix a memory leak in the riffled palette optimization on ARM; refactor
Move deallocation of riffled_palette from png_write_destroy to
png_read_destroy. The reader (not the writer) is the owner of
riffled_palette.
Move allocation and initialization of riffled_palette from
png_do_read_transformations to png_init_palette_transformations.
Allow riffled_palette inside png_struct only if the ARM Neon
optimizations are enabled.
Rename png_riffle_palette_rgba to png_riffle_palette_rgba8, etc.,
to better indicate the strict applicability of these routines.
Fix an unused parameter warning in the build configurations where
riffled palette optimization is not enabled.
Fix indentation.
|
|
0a882b57
|
2019-01-20T22:21:48
|
|
scripts: Add makefile.clang, makefile.clang-asan and makefile.gcc-asan
Also apply minor updates to makefile.gcc and makefile.msys
|
|
fef895aa
|
2019-01-19T19:01:19
|
|
Update the copyright year
|
|
43b41418
|
2018-12-30T13:34:15
|
|
scripts: Delete makefile.ne12bsd; clean up makefile.*bsd
|
|
6a94d145
|
2018-12-30T12:00:41
|
|
Bump version to 1.6.37.git
|
|
0e135457
|
2018-12-01T09:36:00
|
|
Join the branches 'libpng16' and 'master'
The branch 'libpng16' is for tracking libpng version 1.6.x.
The branch 'master' is for tracking the latest stable libpng version.
These branches will diverge again at the next major libpng upgrade.
|
|
eddf9023
|
2018-12-01T09:36:00
|
|
Release libpng version 1.6.36
|
|
85acd919
|
2018-12-01T09:36:00
|
|
[master] Imported from libpng-1.6.36.tar
|
|
e79085a1
|
2018-11-05T23:49:39
|
|
Introduce the PNG Reference Library License version 2
The new libpng license comprises the terms and conditions from the zlib
license, and the disclaimer from the Boost license.
The legacy libpng license, used until libpng-1.6.35, is appended to the
new license, following the precedent established in the Python Software
Foundation License version 2.
From now on, the list of contributing authors shall be maintained in a
separate AUTHORS file.
The lists of previous contributing authors, mentioned in the legacy
libpng license and considered to be an integral part of that license,
are kept intact, with no further updates.
|
|
81a65de2
|
2018-11-25T20:27:04
|
|
Clean up config, scripts, examples, etc.
|