GraphicsMagick: 3 new changesets
GraphicsMagick Commits <[email protected]>
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.36778.1639344036.1346.graphicsmagick-commit@lists.sourceforge.net> |
changeset 0ff3711480f3 in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=0ff3711480f3 summary: Merge changes for the 1.3.37 release. changeset 9c83dfc1ba6d in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=9c83dfc1ba6d summary: Add www/ChangeLog-2020.html changeset ab38f2d6f433 in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=ab38f2d6f433 summary: Added tag GraphicsMagick-1_3_37 for changeset 9c83dfc1ba6d diffstat: .hgtags | 1 + ChangeLog | 1549 ++++++++----------------- ChangeLog.2020 | 1303 +++++++++++++++++++++ Copyright.txt | 2 +- Magick++/COPYING | 2 +- Magick++/lib/Image.cpp | 10 +- Magick++/lib/Magick++/Drawable.h | 11 +- Magick++/lib/Magick++/STL.h | 270 ++-- Makefile.am | 20 +- Makefile.in | 81 +- NEWS.txt | 166 ++- PerlMagick/Magick.pm | 2 +- PerlMagick/Magick.xs | 42 +- PerlMagick/Makefile.am | 22 +- PerlMagick/t/wmf/JPGinside.emf | Bin README.txt | 66 +- VisualMagick/All/All.vcproj.in | 34 +- VisualMagick/bin/hp2xx.exe | Bin VisualMagick/bin/mpeg2dec.exe | Bin VisualMagick/bin/mpeg2enc.exe | Bin VisualMagick/installer/inc/version.isx | 4 +- coders/caption.c | 1 + coders/cineon.c | 22 +- coders/clipboard.c | 22 + coders/cmyk.c | 2 + coders/dcm.c | 68 +- coders/dpx.c | 16 +- coders/gif.c | 40 +- coders/identity.c | 1 + coders/jp2.c | 391 +++++- coders/jpeg.c | 260 ++- coders/locale.c | 2 +- coders/meta.c | 46 +- coders/miff.c | 26 +- coders/mpc.c | 16 +- coders/msl.c | 761 ++++++----- coders/pcx.c | 2 +- coders/pdf.c | 9 +- coders/png.c | 41 +- coders/preview.c | 4 +- coders/ps2.c | 12 +- coders/ps3.c | 10 +- coders/rgb.c | 2 + coders/svg.c | 287 +++- coders/tiff.c | 144 +- coders/webp.c | 32 +- coders/wmf.c | 18 +- coders/wpg.c | 46 +- coders/xpm.c | 2 +- config/config.guess | 1235 ++++++++++--------- config/config.sub | 95 +- configure | 199 ++- configure.ac | 67 +- design/pixel-cache-struct.dot | 4 + design/pixel-cache.dot | 4 + doc/copyright.imdoc | 2 +- doc/gmdoc2html | 2 +- doc/options.imdoc | 11 +- filters/analyze.c | 167 ++- fuzzing/oss-fuzz-build.sh | 18 +- jp2/jasper.def | 4 +- locale/C.mgk | 28 +- magick/annotate.c | 2 +- magick/attribute.c | 4 +- magick/blob.c | 7 +- magick/colorspace.c | 182 +- magick/command.c | 15 +- magick/compare.c | 22 +- magick/constitute.c | 2 +- magick/deprecate.c | 31 +- magick/effect.c | 4 +- magick/enum_strings.c | 40 + magick/enum_strings.h | 2 + magick/gem.c | 14 +- magick/gm_messages.mc | 12 + magick/locale_c.h | 1532 ++++++++++++------------ magick/magick_config.h.in | 12 + magick/magick_types.h.in | 45 +- magick/map.c | 168 ++- magick/map.h | 26 +- magick/memory-private.h | 29 + magick/memory.c | 106 +- magick/module.c | 20 +- magick/monitor-private.h | 4 +- magick/monitor.c | 4 +- magick/nt_base.c | 82 +- magick/nt_base.h | 9 + magick/nt_feature.c | 4 + magick/nt_feature.h | 4 +- magick/pixel_cache.c | 25 +- magick/profile.c | 8 +- magick/random.c | 9 +- magick/render.c | 52 +- magick/resource.c | 23 + magick/symbols.h | 9 +- magick/transform.c | 4 +- magick/tsd.c | 3 +- magick/utility-private.h | 26 +- magick/utility.c | 127 +- magick/utility.h | 3 +- magick/version.h | 12 +- magick/widget.c | 2 +- scripts/gmsymbols.sh | 2 +- scripts/graphicsmagick_snapshot_copy-local | 67 + scripts/graphicsmagick_snapshot_copy-ssh | 68 + scripts/html_fragments.py | 2 +- tests/rwblob.c | 13 +- tests/rwfile.c | 10 +- tests/rwfile_sized.tap | 17 +- utilities/Makefile.am | 2 + utilities/gm.1 | 11 +- utilities/tests/convert-cmds.txt | 146 ++ utilities/tests/convert.tap | 21 + version.sh | 12 +- wand/wand_symbols.h | 2 +- www/ChangeLog-2001.html | 4 +- www/ChangeLog-2002.html | 4 +- www/ChangeLog-2003.html | 4 +- www/ChangeLog-2004.html | 4 +- www/ChangeLog-2005.html | 4 +- www/ChangeLog-2006.html | 4 +- www/ChangeLog-2007.html | 4 +- www/ChangeLog-2008.html | 4 +- www/ChangeLog-2009.html | 10 +- www/ChangeLog-2010.html | 35 +- 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.html | 1678 ++++++++------------------- www/Changes.html | 2 +- www/Copyright.html | 6 +- www/FAQ.html | 2 +- www/GraphicsMagick.html | 13 +- www/Hg.html | 41 +- www/Hg.rst | 41 +- www/INSTALL-unix.html | 84 +- www/INSTALL-unix.rst | 53 +- 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 | 4 +- 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 | 8 +- www/Magick++/index.rst | 2 +- www/Makefile.am | 7 +- www/NEWS.html | 300 +++- www/OpenMP.html | 2 +- www/README.html | 71 +- www/api/animate.html | 2 +- www/api/annotate.html | 2 +- www/api/api.html | 2 +- www/api/attribute.html | 6 +- www/api/average.html | 6 +- www/api/blob.html | 2 +- www/api/cdl.html | 6 +- www/api/channel.html | 6 +- www/api/color.html | 6 +- www/api/colormap.html | 6 +- www/api/compare.html | 6 +- www/api/composite.html | 6 +- www/api/confirm_access.html | 6 +- www/api/constitute.html | 2 +- www/api/decorate.html | 6 +- www/api/deprecate.html | 70 +- www/api/describe.html | 6 +- www/api/display.html | 6 +- www/api/draw.html | 6 +- www/api/effect.html | 2 +- www/api/enhance.html | 6 +- www/api/error.html | 6 +- www/api/export.html | 2 +- www/api/fx.html | 6 +- www/api/hclut.html | 6 +- www/api/image.html | 2 +- www/api/import.html | 2 +- www/api/list.html | 2 +- www/api/log.html | 2 +- www/api/magick.html | 6 +- www/api/memory.html | 2 +- www/api/monitor.html | 6 +- www/api/montage.html | 6 +- www/api/operator.html | 6 +- www/api/paint.html | 2 +- www/api/pixel_cache.html | 4 +- www/api/pixel_iterator.html | 6 +- www/api/plasma.html | 6 +- www/api/profile.html | 6 +- www/api/quantize.html | 6 +- www/api/registry.html | 6 +- www/api/render.html | 2 +- www/api/resize.html | 2 +- www/api/resource.html | 6 +- www/api/segment.html | 2 +- www/api/shear.html | 6 +- www/api/signature.html | 6 +- www/api/statistics.html | 6 +- www/api/texture.html | 6 +- www/api/transform.html | 2 +- www/api/types.html | 2 +- www/api/widget.html | 6 +- www/authors.html | 2 +- www/benchmarks.html | 2 +- www/bugs.html | 4 +- www/contribute.html | 2 +- www/download.html | 69 +- www/download.rst | 77 +- www/formats.html | 10 +- www/formats.rst | 8 +- www/gm.html | 9 +- www/index.html | 10 +- www/index.rst | 10 +- www/links.html | 2 +- www/miff.html | 2 +- www/mission.html | 2 +- www/motion-picture.html | 2 +- www/perl.html | 2 +- www/process.html | 2 +- www/programming.html | 2 +- www/project.html | 2 +- www/quantize.html | 2 +- www/reference.html | 2 +- www/security.html | 2 +- www/thanks.html | 2 +- www/tools.html | 2 +- www/utilities.html | 2 +- www/wand/drawing_wand.html | 6 +- www/wand/magick_wand.html | 6 +- www/wand/pixel_wand.html | 6 +- www/wand/wand.html | 2 +- 263 files changed, 9487 insertions(+), 5695 deletions(-) diffs (truncated from 25291 to 500 lines): diff -r 72e7cdf6a7c0 -r ab38f2d6f433 .hgtags --- a/.hgtags Sat Dec 26 10:55:35 2020 -0600 +++ b/.hgtags Sun Dec 12 15:19:43 2021 -0600 @@ -103,3 +103,4 @@ 6d650073850f08c2b3a99cad588407ece87b9aa4 GraphicsMagick-1_3_34 560875f67e82edb5e8484c769167203e009befce GraphicsMagick-1_3_35 4f73af743b85017bffcc3c760302753cdb30c17d GraphicsMagick-1_3_36 +9c83dfc1ba6daf44a104e70ad56ba2492e7a8147 GraphicsMagick-1_3_37 diff -r 72e7cdf6a7c0 -r ab38f2d6f433 ChangeLog --- a/ChangeLog Sat Dec 26 10:55:35 2020 -0600 +++ b/ChangeLog Sun Dec 12 15:19:43 2021 -0600 @@ -1,1240 +1,669 @@ -2020-12-26 Bob Friesenhahn <[email protected]> - - * version.sh: Updates in preparation for the 1.3.36 release. - - * bootstrap: Fix config.guess and config.sub download URLs. +2021-12-12 Bob Friesenhahn <[email protected]> -2020-12-25 Bob Friesenhahn <[email protected]> - - * design/pixel-cache.dot: Fix reported syntax errors. - - * coders/mpc.c (ReadMPCImage): Report correct exception reason. + * version.sh: Update shared library versioning information for + forthcoming 1.3.37 release. + (PACKAGE_VERSION): Merge changes for the 1.3.37 release. - * coders/miff.c (ReadMIFFImage): Arbitrarily limit the number of - header keywords to avoid DOS attempts. - (ReadMIFFImage): Finish updates to use resource-limited memory - allocator. - (WriteMIFFImage): Finish updates to use resource-limited memory - allocator. + * scripts/graphicsmagick_snapshot_copy-ssh: Sample + graphicsmagick_snapshot_copy script which uses scp to copy + snapshot files to a directory at a remote host, and then rsync + over ssh from there to SourceForge. Copy to a local script + directory and edit to suit local requirements. - * coders/mpc.c (ReadMPCImage): Arbitrarily limit the number of - header keywords to avoid DOS attempts. Fixes oss-fuzz 28956 - "Timeout - coder_MPC_fuzzer". - -2020-12-24 Bob Friesenhahn <[email protected]> - - * magick/render.c (AffineEdge): Use MagickDoubleToLong(); - - * magick/utility.c (MagickDoubleToLong): New private function to - convert a 'double' to a 'long' with the minimum amount of harm. + * scripts/graphicsmagick_snapshot_copy-local: Sample + graphicsmagick_snapshot_copy script to copy snapshot files to a + local directory and then rsync over ssh to SourceForge. Copy to a + local script directory and edit to suit local requirements. - * magick/segment.c (Classify): Remove variables from function - global scope that don't need outer scope. + * Makefile.am (snapshot): Rely on the graphicsmagick_snapshot_copy + script to reduce files we don't care to distribute so that all + targets are still produced. - * coders/jp2.c: JasPer changed its jas_stream_ops_t callback - interfaces in releases 2.0.19 and 2.0.20. Revert to providing the - older interfaces by default, but use a - MAGICK_JP2_NEW_STREAM_INTERFACE pre-processor definition to - support selecting the new interfaces. We don't know how to - usefully tell the JasPer version at compile time! Luckily, using - the older interfaces only causes a compiler warning rather than a - run-time issue. + * coders/jp2.c (alloc_rlm): JasPer expects its allocator to return + non-null for zero size - * coders/mac.c (ReadMACImage): Use size_t type for 'ldblk' to - avoid possible overflow. +2021-12-05 Bob Friesenhahn <[email protected]> -2020-12-23 Bob Friesenhahn <[email protected]> + * Makefile.am (snapshot): Update the snapshot target to distribute + a minimal set of files. - * NEWS.txt: Update the news to the date December 23, 2020. - -2020-12-22 Bob Friesenhahn <[email protected]> + * magick/symbols.h: Update the list of Gm prefixed symbols. - * magick/image.c (AllocateImage): Satisfy conditions for - DestroyImage() as soon as possible and use it for clean-up on - error. Added more error checks. - (CloneImage): Satisfy conditions for DestroyImage() as soon as - possible and use it for clean-up on error. Don't attempt to copy - colormap if colors is zero. Added more error checks. - (DestroyImage): Assure that we can destroy a partially-constructed - Image. + * NEWS.txt: Updated with changes until today. + +2021-12-04 Bob Friesenhahn <[email protected]> + + * www/index.rst: Development snapshots are now at SourceForge. - * magick/effect.c (BlurImage): Fix null pointer dereference if - image failed to be created. - (DespeckleImage): Fix null pointer dereference if image failed to - be created. - (EnhanceImage): Fix null pointer dereference if image failed to be - created. - (GaussianBlurImage): Fix null pointer dereference if image failed - to be created. - (MedianFilterImage): Fix null pointer dereference if image failed - to be created. - (MotionBlurImage): Fix null pointer dereference if image failed to - be created. - (ReduceNoiseImage): Fix null pointer dereference if image failed to - be created. - (ShadeImage): Fix null pointer dereference if image failed to be - created. - (SharpenImage): Fix null pointer dereference if image failed to be - created. - (SpreadImage): Fix null pointer dereference if image failed to be - created. + * www/download.rst, www/index.rst, README.txt: Remove references + to ftp.graphicsmagick.org, which was shut down due to continuing + abusive practices and lack of support from the user community. -2020-12-21 Bob Friesenhahn <[email protected]> +2021-12-03 Bob Friesenhahn <[email protected]> + + * magick/memory-private.h + (MagickAllocateResourceLimitedMemoryAttribute): Remove extraneous + comma. - * coders/jp2.c (BlobWrite): Update Jasper stream OPs callback - function signatures to exactly match latest jas_stream_ops_t - definition. This avoids an annoying warning when using Jasper - 2.0.23 but now causes annoying warnings when using 2.0.12 or - 1.900.1. There does not appear to be a useful way to determine the - Jasper numeric version (only a C string is available) from its - header files. + * coders/wpg.c (LoadWPG2Flags): Fix comment type and whitespace + issues. - * magick/decorate.c (FrameImage): Skip attempting to render top or - bottom of ornamental border if its height is zero. +2021-11-15 Bob Friesenhahn <[email protected]> - * magick/image.c (CloneImage): Set image signature right away in - case it needs to be destroyed while it is being constructed. - - * wand/drawtest.c (main): MagickGetFilename() allocates a new - string so make sure to free it. + * coders/caption.c (ReadCAPTIONImage): Set draw_info to NULL upon + deallocation. Fixes an assertion reported by Michael Melcher via + the graphicsmagick-bugs list on November 11, 2021. - * tests/constitute.c (main): Destroy ExceptionInfo to avoid memory - leak if an exception was thrown. - - * magick/effect.c (EdgeImage): Fix null pointer dereference if - edge image failed to be created. +2021-11-05 Bob Friesenhahn <[email protected]> - * magick/compress.c (HuffmanEncode2Image): Fix error handling - issues. - - * magick/command.c (CompareImageCommand): Fix memory leaks when an - input image failed to be read. - (CompositeImageCommand): Fix memory leaks when an input image - failed to be read. - - * coders/fax.c (WriteFAXImage): Fix error handling. + * coders/jp2.c (initialize_jasper): For JasPer 3.0.0 and later, + use resource-limited memory allocators. JasPer 3.0.0 is not yet + released at this time. - * coders/mpc.c (ReadMPCImage): Use correct deallocator for page - geometry. Fixes oss-fuzz 28853 "Heap-buffer-overflow READ {*} - - _MagickReallocateResourceLimitedMemory". - -2020-12-20 Bob Friesenhahn <[email protected]> - - * coders/yuv.c: Use resource-limited memory allocator. - - * coders/xwd.c: Use resource-limited memory allocator. - - * coders/xpm.c: Use resource-limited memory allocator. +2021-11-04 Bob Friesenhahn <[email protected]> - * coders/xcf.c: Use resource-limited memory allocator. - - * coders/xbm.c: Use resource-limited memory allocator. - - * coders/wpg.c: Use resource-limited memory allocator. - - * coders/viff.c: Use resource-limited memory allocator. - - * coders/vicar.c: Use resource-limited memory allocator. - - * coders/uil.c: Use resource-limited memory allocator. + * coders/gif.c (ReadGIFImage): Handle GIF files where the 'opaque' + index matches the number of colors by producing an extra colormap + entry of transparent black. Fixes SourceForge issue 649 "Bug with + gm identify" where the test case produces the error "Invalid + colormap index (index 128 >= 128 colors, /tmp/broken.gif)". - * coders/txt.c: Use resource-limited memory allocator. - - * coders/topol.c: Use resource-limited memory allocator. - - * coders/tim.c: Use resource-limited memory allocator. + * magick/enum_strings.c (StringToDisposeType): New utility + function to convert a string to a DisposeType. + (DisposeTypeToString) New utility function to convert a + DisposeType to a string. - * coders/tiff.c: Use resource-limited memory allocator. - - * coders/tga.c: Use resource-limited memory allocator. - - * coders/sun.c: Use resource-limited memory allocator. + * coders/msl.c (MSLEndElement): Ignore imbalanced group + closure. Fixes oss-fuzz 40680 "graphicsmagick:coder_MSL_fuzzer: + Heap-buffer-overflow in MSLEndElement". - * coders/sgi.c: Use resource-limited memory allocator. - - * coders/sfw.c: Use resource-limited memory allocator. - - * coders/rle.c: Use resource-limited memory allocator. - - * coders/rla.c: Use resource-limited memory allocator. +2021-11-03 Bob Friesenhahn <[email protected]> - * coders/rgb.c: Use resource-limited memory allocator. - - * coders/psd.c: Use resource-limited memory allocator. - - * coders/ps3.c: Use resource-limited memory allocator. - - * coders/ps2.c: Use resource-limited memory allocator. - - * coders/pnm.c: Use resource-limited memory allocator. + * coders/tiff.c (ReadTIFFImage): Make sure that loops using + TIFFReadScanline(), etc, do quit upon first reported error. Fixes + oss-fuzz 39167 "graphicsmagick:coder_BIGTIFF_fuzzer: + Use-of-uninitialized-value in DisassociateAlphaRegion", as well as + other such cases. - * coders/pdf.c: Use resource-limited memory allocator. - - * coders/pdb.c: Use resource-limited memory allocator. - - * coders/pcl.c: Use resource-limited memory allocator. - - * coders/pcd.c: Use resource-limited memory allocator. - - * coders/palm.c: Use resource-limited memory allocator. + * coders/png.c (png_get_data): On a short read, assure that the + remainder of the buffer is initialized just in case subsequent + code accesses it. - * coders/mtv.c: Use resource-limited memory allocator. - - * coders/mpc.c: Use resource-limited memory allocator. - - * coders/meta.c: Use resource-limited memory allocator. - - * coders/map.c: Use resource-limited memory allocator. - - * coders/jpeg.c: Use resource-limited memory allocator. + * coders/msl.c (MSLStartElement): Assure that + 'msl_info->attributes[n]' is not NULL before attempting to use it. + This is assumed to eliminate oss-fuzz 40226 + "graphicsmagick:coder_MSL_fuzzer: ASSERT: image != (Image *) + NULL". - * coders/jp2.c: Use resource-limited memory allocator. - - * coders/jnx.c: Use resource-limited memory allocator. - - * coders/icon.c: Use resource-limited memory allocator. - - * coders/hrz.c: Use resource-limited memory allocator. +2021-11-02 Bob Friesenhahn <[email protected]> - * coders/histogram.c: Use resource-limited memory allocator. - - * coders/gray.c: Use resource-limited memory allocator. + * coders/msl.c (MSLStartElement): Return immediately if there is + already an error or the image is NULL. Do not discard exceptions + when calling functions which return a new image. Try even harder + to shut down the libxml2 parser. Fixes SourceForge issue 652 "SEGV + in gm at coders/msl.c:883". - * coders/fpx.c: Use resource-limited memory allocator. - - * coders/emf.c: Use resource-limited memory allocator. - - * coders/dpx.c: Use resource-limited memory allocator. +2021-10-31 Bob Friesenhahn <[email protected]> - * coders/dps.c: Use resource-limited memory allocator. - - * coders/dcm.c: Use resource-limited memory allocator. - - * coders/cut.c: Use resource-limited memory allocator. - - * coders/cmyk.c: Use resource-limited memory allocator. - - * coders/cineon.c: Use resource-limited memory allocator. + * magick/widget.c (MagickXPreferencesWidget): Eliminate + compilation warning about 'strlen' argument missing terminating + nul. - * coders/avs.c: Use resource-limited memory allocator. - - * coders/art.c: Use resource-limited memory allocator. +2021-10-24 Fojtik Jaroslav <[email protected]> - * coders/pcx.c: Use resource-limited memory allocator. + * magick/wpg.c: ObjectID>=0x8000 automatically switches double precision on. - * coders/mac.c: Use resource-limited memory allocator. - - * coders/pict.c: Use resource-limited memory allocator. +2021-09-18 Fojtik Jaroslav <[email protected]> - * magick/memory.c (_MagickReallocateResourceLimitedMemory): Add a - 'clear' parameter which indicates that freshly allocated memory - should be zeroed. Added "Cleared" versions of the private managed - memory macros and updated all managed memory macros to exclusively - use this function. + * PerlMagick/t/wmf/JPGinside.emf: Add test file: EMF that embedds + JPG. -2020-12-19 Bob Friesenhahn <[email protected]> +2021-09-17 Bob Friesenhahn <[email protected]> - * Update Automake to 1.16.3 and bootstrap to pick up latest - config.guess and config.sub. - -2020-12-17 Bob Friesenhahn <[email protected]> + * magick/blob.c (WriteBlob): Use appropriate handle for bzip2. + Patch by Sam James <[email protected]>. - * coders/miff.c (ImportRLEPixels): Change from C assertion to - exception report. Fixes oss-fuzz 28703 "ASSERT · ((quantum_type - == IndexQuantum) && (image->storage_class ...". - (ReadMIFFImage): Read Gray DirectClass image as PseudoClass so it - has a colormap, and we have a RLE decode implementation for it. +2021-08-26 Bob Friesenhahn <[email protected]> -2020-12-15 Bob Friesenhahn <[email protected]> - - * magick/paint.c (OpaqueImage): Changing the image storage class - is not required. - -2020-12-14 Bob Friesenhahn <[email protected]> + * coders/jp2.c (initialize_jasper): Make minimal use of new JasPer + function jas_initialize() in order to avoid severe problems with + jas_init(). - * magick/paint.c (OpaqueImage): Assure that image type is promoted - as required based on fill color. Fixes unexpected results - discovered by Stuart McDonagh and reported via the - graphicsmagick-help mailing list on December 14, 2020. + * configure.ac: Detect new JasPer function jas_initialize(). -2020-12-13 Bob Friesenhahn <[email protected]> +2021-08-14 Bob Friesenhahn <[email protected]> - * magick/render.c (DrawImage): Set '[MVG]' image attribute at - appropriate places outside of DrawImage() since DrawImage() - sometimes recurses into itself, trashing the image attribute. One - example of recursion is in the text annotation code. + * coders/msl.c (MSLError): Call xmlStopParser() rather than + setting parser instate = XML_PARSER_EOF. - * coders/svg.c (ReadSVGImage): Properly support 'ping' mode so - 'identify' works as expected. - - * magick/render.c (InsertAttributeIntoInputStream): Provide a more - useful diagnostic for when a "use" or "class" argument id is not - defined. - -2020-12-12 Bob Friesenhahn <[email protected]> + * coders/svg.c (SVGError): Call xmlStopParser() rather than + setting parser instate = XML_PARSER_EOF. - * magick/render.c (DrawImage): Fix regression when parsing "mask" - which was added by changeset 16305:f33a0fb3d8e4 on July 15, 2020 - since the last formal release. This impacts MVG and SVG. +2021-07-21 Bob Friesenhahn <[email protected]> -2020-12-08 Bob Friesenhahn <[email protected]> - - * www/INSTALL-unix.rst: Document the '--disable-compressed-files' - configure option, which was added on July 15th. - -2020-12-06 Bob Friesenhahn <[email protected]> + * coders/pdf.c (WritePDFImage): Use appropriate memory deallocator + for memory returned by StringToList(). Fixes SourceForge issue + 646 "Assertion failed using -label with PDF". - * magick/magic.c: Don't send files which test positive for PCL to - the HPGL delegate, which is normally 'hp2xx'. Fixes SourceForge - bug 607 "Slow to convert HP PCL printer data". + * coders/webp.c (ReadWEBPImage): Add full error checking when + retrieving embedded profiles. -2020-12-05 Bob Friesenhahn <[email protected]> + * magick/profile.c (SetImageProfile): Do not try to store a + zero-sized profile. - * magick/render.c (DrawImage): Use unique image attribute space - for MVG symbols. Fixes oss-fuzz 28111 "Timeout - - coder_MVG_fuzzer", oss-fuzz 28170 "Stack-overflow - DrawImage", - and oss-fuzz 28292 "Integer-overflow - DrawPolygonPrimitive". - -2020-12-04 Bob Friesenhahn <[email protected]> + * coders/webp.c (ReadWEBPImage): Enforce that embedded profiles + provided by libWebP are not zero-sized. This problem was brought + to our attention by Shane Bishop on the graphicsmagick-help + mailing list. - * magick/render.c (DrawImage): Verify that affine scaling factors - are not zero. Fixes oss-fuzz 28293 "Divide-by-zero - - InverseAffineMatrix". - (DrawPolygonPrimitive): Thread error status check was at wrong - scope, resulting in code executing when it should have quit. - -2020-12-03 Bob Friesenhahn <[email protected]> +2021-07-18 Bob Friesenhahn <[email protected]> - * magick/magick_types.h.in: Stop trying to define PTRDIFF_MAX. - -2020-11-29 Bob Friesenhahn <[email protected]> - - * magick/magick_types.h.in: Provide PTRDIFF_MAX for Visual Studio - if it is missing. - - * fuzzing/oss-fuzz-build.sh: Disable old JPEG support in libtiff. - - * coders/mat.c (ReadMATImage): Use resource-limited memory - allocator. - (WriteMATLABImage): Use resource-limited memory allocator. - -2020-11-28 Bob Friesenhahn <[email protected]> - - * NEWS.txt: Update the news to the date November 28, 2020. + * Makefile.am: Add support for using an external + 'graphicsmagick_snapshot_copy' script to copy files for the + 'snapshot' target. This provides local control over how files are + copied and where they are copied to. - * coders/png.c (ReadOneJNGImage): Verify and enforce - Alpha_compression_method values. Request that color and alpha - decoders return just one frame. Force decoder format to disable - auto-detection. Assume that coder messed up and might have - returned more than one frame. Fixes oss-fuzz 28013 "Indirect-leak - . MagickMalloc". + * coders/msl.c (MSLStartElement): Use macros to simplify + validations and reduce repeated code fragments. Add validations + for image size and pixels present where applicable. Fixes + oss-fuzz 36224 "graphicsmagick:coder_MSL_fuzzer: Timeout in + coder_MSL_fuzzer". - * magick/memory-private.h (MagickReallocateResourceLimitedMemory): - Fix typo in macro definition which resulted in a memory - reallocation leak! + * magick/transform.c (RollImage): Assert that image rows and + columns are not zero. - * Magick++/lib/Magick++/Drawable.h: Decided to continue using - std::unary_function if C++ version is less than C++'17 since - otherwise it may be changing an interface. +2021-07-16 Bob Friesenhahn <[email protected]> -2020-11-27 Bob Friesenhahn <[email protected]> - - * coders/gif.c (ReadGIFImage): Use resource-limited memory - allocator when reading the comment extension. + * coders/jp2.c (initialize_jasper): Update for the latest version + of the evolving jas_init_custom() interface provided by the + mdadams-callbacks branch. - * Magick++/lib/Magick++/Drawable.h: Remove inheritance from - std::unary_function, which was removed in C++'17. - - * coders/webp.c (ReadWEBPImage): Use resource-limited memory - allocator. - (WriteWEBPImage): Use resource-limited memory allocator. +2021-07-05 Bob Friesenhahn <[email protected]> - * coders/jbig.c (WriteJBIGImage): Use resource-limited memory - allocator. - - * coders/fits.c (ReadFITSImage): Use resource-limited memory - allocator. - (WriteFITSImage): Use resource-limited memory allocator. - - * coders/dib.c (ReadDIBImage): Use resource-limited memory