2021-02-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

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

* fuzzing/oss-fuzz-build.sh: Patch by Paul Kehrer to incorporate Jasper and libxml2 into the oss-fuzz build.

2021-02-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

* VisualMagick/All/All.vcproj.in: Fixes by sourcer42 <sourcer42@users.sourceforge.net> 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 <bfriesen@simple.dallas.tx.us>

* www/Hg.rst: Document new redundant Mercurial server at OSDN, "https://hg.osdn.net/view/graphicsmagick/GM".

2021-02-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* magick/monitor.c (MagickMonitorActive): Need to export this function for use by modules.

2021-01-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

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

2021-01-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* configure.ac (CONFIG_STATUS_DEPENDENCIES): Regenerate configure.ac if ChangeLog or version.sh is updated.

2021-01-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* coders/tiff.c: Remove unintended double-charging for memory resource. Remove explicit memset where possible.

2021-01-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

* 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".

* 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 <bfriesen@simple.dallas.tx.us>

* 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 <bfriesen@simple.dallas.tx.us>

* 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)".

2021-01-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

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

Copyright © GraphicsMagick Group 2002 - 2021