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. +