GraphicsMagick: 7 new changesets

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.600.1642288203.1623.graphicsmagick-commit@lists.sourceforge.net>
changeset de5b3c1ea727 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=de5b3c1ea727
summary: Added jpeg-xl/jxl decoder (no encoder yet)

changeset 95d4f399fd00 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=95d4f399fd00
summary: Jpeg-XL decoder: Improved handling of different colorspaces

changeset 760bc3554b94 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=760bc3554b94
summary: Jpeg-XL: Added encoder and some fixes for decoder&building

changeset 36f6f707b15a in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=36f6f707b15a
summary: Fix memory leak on error in jxl reader

changeset 4a06ef671f1e in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4a06ef671f1e
summary: JXL-Coder: Update to be comaptible with 0.6.1 release

changeset 8a86f365074f in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=8a86f365074f
summary: Merge default

changeset 6ca5dbc2fb4f in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=6ca5dbc2fb4f
summary: coders/jxl.c: Added preliminary JPEG XL support

diffstat:

 ChangeLog                                  |   425 +-------
 ChangeLog.2021                             |   806 ++++++++++++++++
 Copyright.txt                              |     2 +-
 Magick++/COPYING                           |     2 +-
 Magick++/lib/Image.cpp                     |     3 +
 Makefile.am                                |    40 +-
 Makefile.in                                |   617 +++++++----
 NEWS.txt                                   |   137 ++-
 PerlMagick/Magick.xs                       |   103 +-
 PerlMagick/t/wmf/JPGinside.emf             |   Bin 
 README.txt                                 |    85 +-
 VisualMagick/installer/inc/version.isx     |     4 +-
 coders/Makefile.am                         |    82 +-
 coders/caption.c                           |     1 +
 coders/cineon.c                            |     6 +
 coders/gif.c                               |    42 +-
 coders/heif.c                              |   382 +++++++
 coders/jp2.c                               |   582 ++++++++---
 coders/jpeg.c                              |   117 ++-
 coders/jxl.c                               |   815 ++++++++++++++++
 coders/locale.c                            |     2 +-
 coders/mat.c                               |   132 +-
 coders/meta.c                              |     4 +-
 coders/miff.c                              |     6 +-
 coders/mpc.c                               |     6 +-
 coders/msl.c                               |   746 ++++----------
 coders/pcx.c                               |     2 +-
 coders/pdb.c                               |     3 +-
 coders/pdf.c                               |     4 +-
 coders/pict.c                              |    11 +
 coders/png.c                               |    73 +-
 coders/pnm.c                               |    10 +-
 coders/svg.c                               |   181 ++-
 coders/tiff.c                              |    43 +-
 coders/webp.c                              |    32 +-
 coders/wpg.c                               |    36 +-
 coders/xcf.c                               |     8 +-
 coders/xpm.c                               |     6 +-
 config/config.guess                        |  1243 +++++++++++++------------
 config/config.sub                          |   103 +-
 configure                                  |   525 ++++++++++-
 configure.ac                               |   155 ++-
 doc/GNUmakefile                            |    83 +-
 doc/copyright.imdoc                        |     2 +-
 doc/environment.imdoc                      |    10 +
 doc/gmdoc2html                             |     4 +-
 doc/gmdocselect                            |     4 +-
 doc/imdoc2man                              |    13 +-
 doc/imdocselect                            |     2 -
 doc/options.imdoc                          |    80 +-
 doc/version.imdoc                          |    56 +-
 fuzzing/oss-fuzz-build.sh                  |     4 +-
 fuzzing/utils.cc                           |     1 +
 locale/C.mgk                               |     3 +
 magick/analyze.c                           |     5 +
 magick/blob.c                              |   127 +-
 magick/command.c                           |    16 +
 magick/constitute.c                        |     2 +-
 magick/deprecate.c                         |    31 +-
 magick/enum_strings.c                      |    44 +-
 magick/enum_strings.h                      |     2 +
 magick/gm_messages.mc                      |     6 +
 magick/locale_c.h                          |   706 +++++++-------
 magick/magick_config.h.in                  |     9 +
 magick/memory-private.h                    |    39 +-
 magick/memory.c                            |   160 ++-
 magick/module_aliases.h                    |     1 +
 magick/profile.c                           |     2 +-
 magick/profile.h                           |     2 +-
 magick/resource.c                          |    29 +-
 magick/resource.h                          |     5 +-
 magick/signature.c                         |    34 +-
 magick/signature.h                         |    28 -
 magick/static.c                            |     6 +
 magick/static.h                            |     4 +
 magick/symbols.h                           |    11 +-
 magick/transform.c                         |    24 +-
 magick/utility-private.h                   |    24 +-
 magick/utility.c                           |   102 +-
 magick/utility.h                           |     3 +-
 magick/version.h                           |    14 +-
 magick/version.h.in                        |     4 +-
 magick/widget.c                            |     2 +-
 scripts/gmsymbols.sh                       |     2 +-
 scripts/graphicsmagick_snapshot_copy-local |    74 +
 scripts/graphicsmagick_snapshot_copy-ssh   |    75 +
 scripts/html_fragments.py                  |     2 +-
 tests/rwfile.c                             |     1 +
 tests/rwfile.tap                           |     9 +-
 utilities/gm.1                             |   994 ++++++++++++--------
 utilities/tests/convert.tap                |     2 +-
 version.sh                                 |     8 +-
 wand/wand_symbols.h                        |     2 +-
 www/ChangeLog-2001.html                    |     2 +-
 www/ChangeLog-2002.html                    |     2 +-
 www/ChangeLog-2003.html                    |     2 +-
 www/ChangeLog-2004.html                    |     2 +-
 www/ChangeLog-2005.html                    |     2 +-
 www/ChangeLog-2006.html                    |     2 +-
 www/ChangeLog-2007.html                    |     2 +-
 www/ChangeLog-2008.html                    |     2 +-
 www/ChangeLog-2009.html                    |     2 +-
 www/ChangeLog-2010.html                    |     2 +-
 www/ChangeLog-2011.html                    |     2 +-
 www/ChangeLog-2012.html                    |     2 +-
 www/ChangeLog-2013.html                    |     2 +-
 www/ChangeLog-2014.html                    |     2 +-
 www/ChangeLog-2015.html                    |     2 +-
 www/ChangeLog-2016.html                    |     2 +-
 www/ChangeLog-2017.html                    |     2 +-
 www/ChangeLog-2018.html                    |     2 +-
 www/ChangeLog-2019.html                    |     2 +-
 www/ChangeLog-2020.html                    |  1368 ++++++++++++++++++++++++++++
 www/ChangeLog-2021.html                    |   745 +++++++++++++++
 www/Changelog.html                         |   385 +-------
 www/Changes.html                           |     6 +-
 www/Changes.rst                            |     8 +-
 www/Copyright.html                         |     4 +-
 www/FAQ.html                               |     2 +-
 www/GraphicsMagick.html                    |   110 +-
 www/Hg.html                                |     2 +-
 www/INSTALL-unix.html                      |    75 +-
 www/INSTALL-unix.rst                       |    41 +
 www/INSTALL-windows.html                   |     2 +-
 www/ImageMagickObject.html                 |     2 +-
 www/Magick++/Blob.html                     |     4 +-
 www/Magick++/Blob.rst                      |     2 +-
 www/Magick++/COPYING                       |     2 +-
 www/Magick++/ChangeLog.html                |     2 +-
 www/Magick++/CoderInfo.html                |     4 +-
 www/Magick++/CoderInfo.rst                 |     2 +-
 www/Magick++/Color.html                    |     4 +-
 www/Magick++/Color.rst                     |     2 +-
 www/Magick++/Drawable.html                 |     4 +-
 www/Magick++/Drawable.rst                  |     2 +-
 www/Magick++/Enumerations.html             |     4 +-
 www/Magick++/Enumerations.rst              |     2 +-
 www/Magick++/Exception.html                |     4 +-
 www/Magick++/Exception.rst                 |     2 +-
 www/Magick++/FormatCharacters.html         |     4 +-
 www/Magick++/FormatCharacters.rst          |     2 +-
 www/Magick++/Geometry.html                 |     4 +-
 www/Magick++/Geometry.rst                  |     2 +-
 www/Magick++/Image.html                    |     4 +-
 www/Magick++/Image.rst                     |     2 +-
 www/Magick++/ImageDesign.html              |     4 +-
 www/Magick++/ImageDesign.rst               |     2 +-
 www/Magick++/Montage.html                  |     4 +-
 www/Magick++/Montage.rst                   |     2 +-
 www/Magick++/PixelPacket.html              |     4 +-
 www/Magick++/PixelPacket.rst               |     2 +-
 www/Magick++/Pixels.html                   |     4 +-
 www/Magick++/Pixels.rst                    |     2 +-
 www/Magick++/TypeMetric.html               |     4 +-
 www/Magick++/TypeMetric.rst                |     2 +-
 www/Magick++/index.html                    |    12 +-
 www/Magick++/index.rst                     |    15 +-
 www/Makefile.am                            |     5 +
 www/NEWS.html                              |   276 +++-
 www/OpenMP.html                            |     2 +-
 www/README.html                            |    81 +-
 www/animate.html                           |    16 +-
 www/api/animate.html                       |     2 +-
 www/api/annotate.html                      |     2 +-
 www/api/api.html                           |     2 +-
 www/api/attribute.html                     |     6 +-
 www/api/average.html                       |     2 +-
 www/api/blob.html                          |     2 +-
 www/api/cdl.html                           |     2 +-
 www/api/channel.html                       |     2 +-
 www/api/color.html                         |     2 +-
 www/api/colormap.html                      |     2 +-
 www/api/compare.html                       |     2 +-
 www/api/composite.html                     |     2 +-
 www/api/confirm_access.html                |     2 +-
 www/api/constitute.html                    |     2 +-
 www/api/decorate.html                      |     2 +-
 www/api/deprecate.html                     |    66 +-
 www/api/describe.html                      |     2 +-
 www/api/display.html                       |     2 +-
 www/api/draw.html                          |     2 +-
 www/api/effect.html                        |     2 +-
 www/api/enhance.html                       |     2 +-
 www/api/error.html                         |     2 +-
 www/api/export.html                        |     2 +-
 www/api/fx.html                            |     2 +-
 www/api/hclut.html                         |     2 +-
 www/api/image.html                         |     2 +-
 www/api/import.html                        |     2 +-
 www/api/list.html                          |     2 +-
 www/api/log.html                           |     2 +-
 www/api/magick.html                        |     2 +-
 www/api/memory.html                        |     2 +-
 www/api/monitor.html                       |     2 +-
 www/api/montage.html                       |     2 +-
 www/api/operator.html                      |     2 +-
 www/api/paint.html                         |     2 +-
 www/api/pixel_cache.html                   |     2 +-
 www/api/pixel_iterator.html                |     2 +-
 www/api/plasma.html                        |     2 +-
 www/api/profile.html                       |     2 +-
 www/api/quantize.html                      |     2 +-
 www/api/registry.html                      |     2 +-
 www/api/render.html                        |     6 +-
 www/api/resize.html                        |     2 +-
 www/api/resource.html                      |     6 +-
 www/api/segment.html                       |     2 +-
 www/api/shear.html                         |     2 +-
 www/api/signature.html                     |     2 +-
 www/api/statistics.html                    |     2 +-
 www/api/texture.html                       |     2 +-
 www/api/transform.html                     |     2 +-
 www/api/types.html                         |     2 +-
 www/api/widget.html                        |     2 +-
 www/authors.html                           |    12 +-
 www/authors.rst                            |    11 +-
 www/batch.html                             |     4 +-
 www/benchmark.html                         |     4 +-
 www/benchmarks.html                        |     2 +-
 www/bugs.html                              |     2 +-
 www/compare.html                           |     6 +-
 www/composite.html                         |     6 +-
 www/conjure.html                           |     4 +-
 www/contribute.html                        |     2 +-
 www/convert.html                           |    10 +-
 www/display.html                           |    50 +-
 www/download.html                          |   130 +-
 www/download.rst                           |   117 +-
 www/formats.html                           |    13 +-
 www/formats.rst                            |     5 +
 www/gm.html                                |   288 +++--
 www/identify.html                          |     6 +-
 www/import.html                            |     6 +-
 www/index.html                             |    18 +-
 www/index.rst                              |    20 +-
 www/links.html                             |    96 +-
 www/links.rst                              |    44 +-
 www/miff.html                              |     2 +-
 www/mission.html                           |     2 +-
 www/mogrify.html                           |    10 +-
 www/montage.html                           |    10 +-
 www/motion-picture.html                    |     2 +-
 www/perl.html                              |    12 +-
 www/perl.rst                               |     8 +-
 www/process.html                           |     2 +-
 www/programming.html                       |    22 +-
 www/programming.rst                        |    55 +-
 www/project.html                           |     2 +-
 www/quantize.html                          |     2 +-
 www/reference.html                         |     2 +-
 www/security.html                          |     6 +-
 www/security.rst                           |     4 +-
 www/thanks.html                            |     2 +-
 www/time.html                              |     4 +-
 www/tools.html                             |     2 +-
 www/utilities.html                         |     2 +-
 www/version.html                           |    60 +-
 www/wand/drawing_wand.html                 |     2 +-
 www/wand/magick_wand.html                  |     2 +-
 www/wand/pixel_wand.html                   |     2 +-
 www/wand/wand.html                         |     2 +-
 261 files changed, 10455 insertions(+), 4538 deletions(-)

diffs (truncated from 27172 to 500 lines):

diff -r 48c9416cca66 -r 6ca5dbc2fb4f ChangeLog
--- a/ChangeLog	Mon May 10 11:16:24 2021 -0500
+++ b/ChangeLog	Sat Jan 15 17:09:46 2022 -0600
@@ -1,406 +1,59 @@
-2021-05-10  Bob Friesenhahn  <[email protected]>
-
-        * Magick++/lib/Magick++/{Drawable.h, STL.h}: Use _MSVC_LANG in
-        addition to __cplusplus when testing for C++'17 since the
-        Microsoft C++ compiler only properly defines __cplusplus if the
-        /Zc:__cplusplus switch was provided.
-
-2021-05-09  Bob Friesenhahn  <[email protected]>
-
-        * Magick++/lib/Magick++/STL.h: Support compiling with C++'98
-        through C++'17.
-
-        * Magick++/lib/Magick++/Drawable.h: Support compiling with C++'98
-        through C++'17.
-
-2021-05-02  Bob Friesenhahn  <[email protected]>
-
-        * magick/command.c (CompareImageCommand): If user has not
-        indicated a 'matte' preference, then include the opacity channel
-        in the compare if either image has a matte channel.  Addresses
-        SourceForge issue #642 "Result of command "gm compare" depends on
-        order of images".
+2022-01-15  Bob Friesenhahn  <[email protected]>
 
-2021-04-25  Bob Friesenhahn  <[email protected]>
-
-        * magick/compare.c (IsImagesEqual): Eliminate hard
-        "ImageOpacityDiffers" error when matte channel flag differs
-        between the images being compared.  Instead of throwing a hard
-        error, treat the opacity channel of the image as opaque if the
-        matte flag is not set.
-
-2021-04-24  Bob Friesenhahn  <[email protected]>
-
-        * coders/jpeg.c: It is apparently now undefined behavior to assign
-        the return value from setjmp() to a variable.  Remove recently
-        added code which is now doing that.  Much thanks to Chris Gravely
-        for noticing this.
-
-2021-04-19  Bob Friesenhahn  <[email protected]>
-
-        * coders/jpeg.c (ReadJPEGImage): Error cases depending on
-        ThrowReaderException() were now leaking client data memory.
-        Replace such cases with customized ThrowJPEGReaderException()
-        which assures that it is freed.
-        (WriteJPEGImage): Error cases depending on ThrowWriterException()
-        were now client data memory.  Replace such cases with customized
-        ThrowJPEGWriterException() which assures that it is freed.
+        * coders/jxl.c: Added preliminary JPEG XL support written by
+        Tobias Mark.  From Code Merge Request #14: "Added (basic) jpeg-xl
+        support".  The writer is not working properly at this time.
 
-2021-04-18  Bob Friesenhahn  <[email protected]>
-
-        * coders/jpeg.c: Restructure client data so it is allocated on the
-        heap rather than the stack.  Happens to fix SourceForge issue 641
-        "SIGSEGV thrown performing longjmp in jpeg.c".
-
-2021-04-10  Bob Friesenhahn  <[email protected]>
-
-        * coders/png.c (ReadOnePNGImage): Assure that null
-        ping_trans_alpha pointer is not dereferenced.  Addresses oss-fuzz
-        33119 "graphicsmagick:coder_MNG_fuzzer: Null-dereference READ in
-        ReadOnePNGImage".
-
-        * magick/profile.c (SetImageProfile): Use the resource-limited
-        memory allocator to allocate embedded profiles.
+        * www/formats.rst: Add HEIF to the list of supported formats.
 
-        * magick/map.c (MagickMapCopyResourceLimitedString): New private
-        function to copy a resource-limited string.
-        (MagickMapDeallocateResourceLimitedString): New private function
-        to deallocate a resource-limited string.
-        (MagickMapCopyResourceLimitedBlob): New private function to copy a
-        resource-limited blob.
-        (MagickMapDeallocateResourceLimitedBlob): New private function to
-        deallocate a resource-limited blob.
-
-2021-04-06  Bob Friesenhahn  <[email protected]>
+        * README.txt: Expand the text regarding support for HEIF/HVEC
+        support.
 
-        * coders/svg.c (GetStyleTokens): Limit the number of style tokens.
-        Addresses oss-fuzz 32921 "graphicsmagick:coder_SVG_fuzzer:
-        Out-of-memory in coder_SVG_fuzzer".
-        (SVGComment): Only capture first comment rather than concatenating
-        all comments.  Addresses oss-fuzz 32944
-        "graphicsmagick:coder_SVGZ_fuzzer: Timeout in coder_SVGZ_fuzzer".
-
-2021-04-02  Bob Friesenhahn  <[email protected]>
-
-        * coders/msl.c (MSLReference): Fix memory leak when parser node is
-        null. Addresses oss-fuzz 32713 "graphicsmagick:coder_MSL_fuzzer:
-        Direct-leak in xmlNewReference".
-
-2021-04-01  Bob Friesenhahn  <[email protected]>
-
-        * coders/png.c (ReadOnePNGImage): Avoid use of null
-        ping_trans_color.  Fixes oss-fuzz 32666
-        "graphicsmagick:coder_MNG_fuzzer: Null-dereference READ in
-        ReadOnePNGImage".
-
-2021-03-29  Bob Friesenhahn  <[email protected]>
+2022-01-14  Bob Friesenhahn  <[email protected]>
 
-        * coders/msl.c (WriteMSLImage): Add OpenBlob()/CloseBlob() which
-        seems necessary to avoid memory leak in ImageToBlob().  Hopefully
-        will fix oss-fuzz 32575 "graphicsmagick:coder_MSL_fuzzer:
-        Direct-leak in MagickMalloc".
-
-2021-03-26  Bob Friesenhahn  <[email protected]>
-
-        * coders/jp2.c (RegisterJP2Image): Report JasPer library version.
-
-        * coders/msl.c (ProcessMSLScript): Free msl_image upon reader
-        failure.  Should fix oss-fuzz 32479
-        "graphicsmagick:coder_MSL_fuzzer: Indirect-leak in MagickMalloc".
-
-2021-03-24  Bob Friesenhahn  <[email protected]>
-
-        * PerlMagick/Makefile.am (check-perl): Nullify the check-perl
-        target when PerlMagick is enabled and shared libraries are used.
-        This is because a dynamic GraphicsMagick needs to be formally
-        installed before PerlMagick can be tested.
-
-        * coders/jp2.c (ReadJP2Image): Support both old and new ways to
-        determine if JasPer codec support is available.
+        * coders/heif.c: HEIF reader written by Tobias Mark.  From
+        SourceForge Code Merge Request #15: "Added minimal heif support".
 
-        * coders/msl.c (ProcessMSLScript): Another attempt to properly fix
-        oss-fuzz 32263 "graphicsmagick:coder_MSL_fuzzer:
-        Heap-use-after-free in ProcessMSLScript" without causing new
-        problems.
-
-2021-03-23  Bob Friesenhahn  <[email protected]>
-
-        * coders/msl.c (ProcessMSLScript): Fix oss-fuzz 32263
-        "graphicsmagick:coder_MSL_fuzzer: Heap-use-after-free in
-        ProcessMSLScript".
-
-2021-03-18  Bob Friesenhahn  <[email protected]>
-
-        * Magick++/lib/Image.cpp (Magick::Image::write): Due to the design
-        of ImageToBlob(), it is possible for data to be returned although
-        an exception was thrown.  Deposit it in the Blob so that it will
-        be freed.  May finish fixing oss-fuzz 31965
-        "graphicsmagick:coder_MSL_fuzzer: Indirect-leak in MagickMalloc".
-
-2021-03-17  Bob Friesenhahn  <[email protected]>
-
-        * coders/msl.c (ProcessMSLScript): Attempt to address leak of
-        "msl_image".  May fix oss-fuzz 31965
-        "graphicsmagick:coder_MSL_fuzzer: Indirect-leak in MagickMalloc".
-
-2021-03-13  Bob Friesenhahn  <[email protected]>
+        * magick/blob.c (ReadBlobStream): Fix EOF logic similar to
+        ReadBlob. Addresses oss-fuzz 43617
+        "graphicsmagick:coder_P7_fuzzer: Use-of-uninitialized-value in
+        WritePNMImage".
 
-        * coders/dcm.c (DCM_ReadNonNativeImages): Enforce that image depth
-        is in the supported range of 1-16.  Embedded PGX was observed to
-        cause JasPer to report a component depth of 20 bits.  Fixes
-        oss-fuzz issue 31373 "graphicsmagick:coder_DCM_fuzzer:
-        Heap-buffer-overflow in DCM_SetupRescaleMap".
-
-2021-03-10  Bob Friesenhahn  <[email protected]>
-
-        * coders/svg.c (SVGError): Force xml parser input state to
-        XML_PARSER_EOF state upon error to abort parsing.
-
-        * coders/msl.c (MSLError): Force xml parser input state to
-        XML_PARSER_EOF state upon error to abort parsing.  Fixes oss-fuzz
-        31401 "graphicsmagick:coder_MSL_fuzzer: Timeout in
-        coder_MSL_fuzzer".
-
-2021-03-08  Bob Friesenhahn  <[email protected]>
-
-        * coders/msl.c (ProcessMSLScript): Replicate clean-up actions
-        which should already be done by MSLPopImage().  Trying to address
-        oss-fuzz 31259 "graphicsmagick:coder_MSL_fuzzer: Direct-leak in
-        MagickMalloc", which I have not been able to reproduce.
-
-        * magick/tsd.c (MagickTsdKeyDelete): Fix memory leak of key values
-        array at exit when use of pthread or WIN32 TSD APIs is disabled.
-
-2021-03-07  Bob Friesenhahn  <[email protected]>
+2022-01-12  Bob Friesenhahn  <[email protected]>
 
-        * coders/msl.c (MSLStartElement): Consistently verify that
-        attributes are non-NULL before calling TranslateText().  Fixes
-        oss-fuzz 31779 "graphicsmagick:coder_MSL_fuzzer: ASSERT: image !=
-        (Image *) NULL".
-
-        * README.txt: Add mention of libdeflate library, since it is an
-        optional dependency of the next libtiff release, and might be
-        required to link if libtiff itself depends on it.
-
-        * configure.ac (MAGICK_DEP_LIBS): Liblzma is a libtiff dependency.
-        GraphicsMagick does not directly use liblzma.  Do not include
-        liblzma as direct dependency for the modules build.
+        * magick/blob.c (ReadBlob): Fix EOF logic. Addresses oss-fuzz
+        43490 "graphicsmagick:coder_PNM_fuzzer: Use-of-uninitialized-value
+        in SyncImageCallBack".
 
-2021-03-04  Bob Friesenhahn  <[email protected]>
-
-        * coders/svg.c (ProcessStyleClassDefs): Fix non-terminal execution
-        while traversing "active" list based on a patch by Gregory J
-        Wolfe.  Addresses oss-fuzz 31663
-        "graphicsmagick:coder_SVGZ_fuzzer: Timeout in coder_SVGZ_fuzzer".
-
-2021-03-02  Bob Friesenhahn  <[email protected]>
-
-        * coders/svg.c (ProcessStyleClassDefs): Corrected fix for oss-fuzz
-        31234 "graphicsmagick:coder_SVG_fuzzer: Direct-leak in
-        MagickMalloc" based on a patch by Gregory J Wolfe.
-
-2021-02-28  Bob Friesenhahn  <[email protected]>
+        * coders/pnm.c (ReadPNMImage): Make sure that we don't lose the
+        image exception.
 
-        * configure.ac: Add tests for Jasper jp2_decode(), jpc_decode(),
-        and pgx_decode().
-
-        * coders/jp2.c (ReadJP2Image): Call jp2_decode(), jpc_decode(), or
-        pgx_decode(), directly. Using jas_image_decode() makes us subject
-        to Jasper's own format determination, which may include file
-        formats we don't want to support via Jasper.
-
-        * fuzzing/oss-fuzz-build.sh: Disable support for Jasper codecs we
-        don't want or need.
-
-2021-02-27  Bob Friesenhahn  <[email protected]>
-
-        * coders/msl.c (MSLStartElement): Fix assertion in TranslateText()
-        when there are no attributes available.  Addresses oss-fuzz 31307
-        "graphicsmagick:coder_MSL_fuzzer: ASSERT: image != (Image *)
-        NULL".
+2022-01-11  Bob Friesenhahn  <[email protected]>
 
-        * coders/svg.c (ProcessStyleClassDefs): Fix memory leak upon
-        malformed class name list.  Addresses oss-fuzz 31234
-        "graphicsmagick:coder_SVG_fuzzer: Direct-leak in MagickMalloc".
-        (ProcessStyleClassDefs): Fix non-terminal loop and huge memory
-        allocation caused by self-referential list.  Not sure if
-        implementation is as intended, but it does not crash. Addresses
-        oss-fuzz 31391 "graphicsmagick:coder_SVG_fuzzer: Out-of-memory in
-        coder_SVG_fuzzer".
-        (SVGReference): Fix memory leak when parser node is null.
-        Addresses oss-fuzz 31286 "graphicsmagick:coder_SVGZ_fuzzer:
-        Direct-leak in xmlNewReference".
-
-2021-02-25  Bob Friesenhahn  <[email protected]>
-
-        * coders/msl.c (MSLCDataBlock): Fix leak of value from
-        xmlNewCDataBlock().  Addresses oss-fuzz 31400
-        "graphicsmagick:coder_MSL_fuzzer: Direct-leak in
-        xmlNewCDataBlock".
-
-2021-02-22  Bob Friesenhahn  <[email protected]>
-
-        * coders/svg.c (ProcessStyleClassDefs): Fix non-terminal loop
-        caused by a self-referential list which results in huge memory
-        usage.  Addresses oss-fuzz 31238 "graphicsmagick:coder_SVG_fuzzer:
-        Out-of-memory in coder_SVG_fuzzer".
-
-2021-02-21  Bob Friesenhahn  <[email protected]>
+        * magick/blob.c: Throw a user-friendly exception when the read
+        limit has been exceeded.
 
-        * coders/svg.c (SVGStartElement): Reject impossibly small bounds
-        and view_box width or height.  Addresses oss-fuzz 31224
-        "graphicsmagick:coder_SVG_fuzzer: Divide-by-zero in
-        SVGStartElement".
-
-        * coders/msl.c (MSLPushImage): Only clone attributes if not null.
-        Should address oss-fuzz 31205 "graphicsmagick:coder_MSL_fuzzer:
-        ASSERT: image != (Image *) NULL".
-
-        * coders/jp2.c (ReadJP2Image): Validate that actual file header
-        does appear to be a supported format regardless of 'magick' being
-        forced.  Jasper appears to dispatch to other libraries if it
-        detects a known format it supports and then the program exits if
-        there is a problem.  Fixes oss-fuzz 31200
-        "graphicsmagick:coder_JPC_fuzzer: Unexpected-exit in error_exit".
-
-2021-02-20  Bob Friesenhahn  <[email protected]>
-
-        * magick/nt_base.c (NTGhostscriptFind,NTGhostscriptGetString):
-        Handle Ghostscript point versions added after 9.52.  Fixes
-        SourceForge issue #636 'Failed to find Ghostscript' with
-        Ghostscript version 9.53.0+.
+        * coders/jpeg.c: Add tracing and fallback for longjmp().
 
-        * fuzzing/oss-fuzz-build.sh: Patch by Paul Kehrer to incorporate
-        Jasper and libxml2 into the oss-fuzz build.
-
-2021-02-14  Bob Friesenhahn  <[email protected]>
-
-        * VisualMagick/All/All.vcproj.in: Fixes by sourcer42
-        <[email protected]> for the problem that Visual
-        Studio is not able to load the All project if the project supports
-        the x64 target.
-
-2021-02-12  Bob Friesenhahn  <[email protected]>
+        * coders/pict.c (DecodeImage): Assure that the claimed scanline
+        length is within the bounds of the scanline allocation to avoid
+        possible heap overflow.
 
-        * www/Hg.rst: Document new redundant Mercurial server at OSDN,
-        "https://hg.osdn.net/view/graphicsmagick/GM".
-
-2021-02-07  Bob Friesenhahn  <[email protected]>
-
-        * Add explicit cast to float where implicit casts to float from
-        double were occurring.
-
-        * magick/utility.c (MagickDoubleToLong): Guard against LONG_MAX
-        not directly representable as a double.
-
-2021-02-06  Bob Friesenhahn  <[email protected]>
+2022-01-09  Bob Friesenhahn  <[email protected]>
 
-        * magick/utility.c (TranslateTextEx): If image resolution is
-        impossibly small, then report the default resolution of 72 DPI, or
-        the equivalent in centimeters if units is in
-        pixels-per-centimeter.  Addresses SourceForge bug #396 "dpi not
-        retrived (no default value)".  I do have some misgivings about
-        this solution since it is lying about the actual value.  Not all
-        usages of raster images have an associated physical reality and
-        thus resolution is not necessarily relevant.
-
-2021-02-04  Bob Friesenhahn  <[email protected]>
-
-        * coders/tiff.c, coders/ps2.c, coders/ps3.c: Libtiff versions
-        beyond 20201219 want to use types from stdint.h.
-
-2021-01-31  Bob Friesenhahn  <[email protected]>
-
-        * magick/monitor.c (MagickMonitorActive): Need to export this
-        function for use by modules.
-
-2021-01-30  Bob Friesenhahn  <[email protected]>
-
-        * VisualMagick/bin: Remove hp2xx.exe, mpeg2dec.exe, and
-        mpeg2enc.exe.  There is no value to distributing these pre-built
-        and flimsy executables in the source package.
-
-        * filters/analyze.c (AnalyzeImage): Add OpenMP speed-ups.
+        * magick/blob.c: Make sure that read resource limiting can support
+        very large files.
 
-2021-01-29  Bob Friesenhahn  <[email protected]>
-
-        * filters/analyze.c (AnalyzeImage): Tidy the structure of the code
-        a bit.
-
-        * magick/module.c (ExecuteModuleProcess): Add error reporting for
-        the case that the expected symbol is not resolved.
-
-2021-01-23  Bob Friesenhahn  <[email protected]>
-
-        * configure.ac: Remove updates to use recommended forms of AC_INIT
-        and AM_INIT_AUTOMAKE.  There were too many annoying side-effects
-        to daily development from these changes.  Perhaps they will be
-        re-visited if solutions for Autotools regeneration issues are
-        found.
-
-2021-01-19  Bob Friesenhahn  <[email protected]>
-
-        * magick/render.c (InverseAffineMatrix): Avoid possible division
-        by zero or absurdly extreme scaling in InverseAffineMatrix().
-        Fixes oss-fuzz 28293 "Divide-by-zero - InverseAffineMatrix".
-
-2021-01-13  Bob Friesenhahn  <[email protected]>
-
-        * configure.ac (CONFIG_STATUS_DEPENDENCIES): Regenerate
-        configure.ac if ChangeLog or version.sh is updated.
+2022-01-08  Bob Friesenhahn  <[email protected]>
 
-2021-01-10  Bob Friesenhahn  <[email protected]>
-
-        * coders/pdf.c (WritePDFImage): Converting a TIF to a PDF set the
-        page MediaBox to the TIFF dimensions in pixels while the CropBox
-        is set in local context dimensions. The latter is correct, the
-        former is not.  Set the MediaBox to the proper dimension in local
-        context.  Should be the same in this context.  Patch by Hubert
-        Figuiere and retrieved from SourceForge patch #64 "Incorrect
-        MediaBox in PDF export".
-
-        * magick/pixel_cache.c: Memory cache implementation of pixel cache
-        now uses resource limited memory allocator.  It was previously
-        resource limited, but by using the resource allocation APIs
-        directly.
-
-2021-01-09  Bob Friesenhahn  <[email protected]>
-
-        * coders/tiff.c: Remove unintended double-charging for memory
-        resource.  Remove explicit memset where possible.
-
-2021-01-07  Bob Friesenhahn  <[email protected]>
-
-        * coders/gif.c (ReadGIFImage): Fix memory leak of global_colormap
-        if realloc of memory for comment fails.  Fixes oss-fuzz 29316
-        "Direct-leak in MagickMalloc".
+        * magick/resource.c: Add support for setting a read resource limit
+        via the MAGICK_LIMIT_READ environment variable, or similar to
+        '-limit read 5mb'.
 
-        * coders/meta.c (ReadMETAImage): Fix double-free if blob buffer
-        was reallocated after being attached to blob.  Fixes oss-fuzz
-        29193 "Heap-double-free in MagickFree".
-
-2021-01-06  Bob Friesenhahn  <[email protected]>
-
-        * configure.ac: Updates to use recommended forms of AC_INIT and
-        AM_INIT_AUTOMAKE.  This was/is painful due to how development
-        snapshot versioning is handled.  The version string produced for
-        the snapshot version will now contain the snapshot date.  Effort
-        has been made to avoid other impacts due to AC_INIT's enforcements
-        for how version information is used.
-
-2021-01-02  Bob Friesenhahn  <[email protected]>
+        * magick/resource.h: Added a ReadResource limit, which is a limit
+        on how many uncompressed file bytes may be read while decoding an
+        input file.
 
-        * PerlMagick/Magick.xs: Remove GCC warnings which spewed out at
-        increased warning levels.
-
-        * magick/magick_types.h.in: Hide definitions not intended for the
-        rest of the world under "if defined(MAGICK_IMPLEMENTATION)".
+2022-01-01  Bob Friesenhahn  <[email protected]>
 
-2021-01-01  Bob Friesenhahn  <[email protected]>
-
-        * configure.ac: Skip library symbol tests for gdi32 since these
-        fail with the MSYS2 w64-i686 compiler and well as i686 Cygwin.
-        The failures caused a build regression for i686 MSYS2/Cygwin.
-
-        * Copyright.txt: Copyright year updates and ChangeLog rotation for
-        the new year.
+        * ChangeLog.2021: Rotate ChangeLog for 2022.  Happy New Year!
diff -r 48c9416cca66 -r 6ca5dbc2fb4f ChangeLog.2021
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ChangeLog.2021	Sat Jan 15 17:09:46 2022 -0600
@@ -0,0 +1,806 @@
+2021-12-31  Bob Friesenhahn  <[email protected]>
+
+        * doc/{gmdoc2html, gmdocselect, imdoc2man, imdocselect}: Fixes to
+        work better with both GNU sed and Solaris/Illumos sed.
+
+        * doc/GNUmakefile: Use GNU make rules to produce the full imdoc
+        list for man, html, and tex, rather than relying on a shell
+        wildcard expression, since the order produced by the shell
+        wildcard expression is indeterminate.
+
+
+2021-12-30  Bob Friesenhahn  <[email protected]>
+
+        * www/index.rst: Document that
+        https://graphicsmagick.sourceforge.io/index.html is also
+        available.
+
+        * www/programming.rst: Update URLs.  Add a link to a 'Go' binding.
+
+        * Copyright.txt: Update Copyright text for 2022 and prepare for
+        new year.
+
+2021-12-29  Bob Friesenhahn  <[email protected]>
+
+        * coders/{gif.c, meta.c, miff.c, mpc.c, pdb.c, pnm.c xpm.c}: Rely
+        on _MagickReallocateResourceLimitedMemory() to extend memory
+        allocation.
+
+        * magick/memory.c (_MagickReallocateResourceLimitedMemory): Remove
+        size limit from realloc binary expansion.  Fix reallocs tally counts.
+
+        * magick/memory-private.h(_MagickReallocateResourceLimitedMemory)
+        : Remove use of GCC/Clang '__attribute_malloc__' since it is not
+        appropriate for this function.
+
+        * magick/memory.c (_MagickReallocateResourceLimitedMemory):
+        Maintain a tally of the total number of octets moved by realloc.
+
+2021-12-27  Bob Friesenhahn  <[email protected]>
+
+        * coders/mat.c (ReadMATImage): Change 'ldblk' to size_t and
+        check related calculations for overflow and to avoid possible
+        negative seek offsets.
+        (FixLogical): Pass 'ldblk' as size_t.
+        (ReadMATImage): Assure that corrupt/incomplete image is not
+        returned.
+
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.