diff options
Diffstat (limited to 'www')
109 files changed, 3926 insertions, 2819 deletions
diff --git a/www/ChangeLog-2009.html b/www/ChangeLog-2009.html index 6564a97..1fa41be 100644 --- a/www/ChangeLog-2009.html +++ b/www/ChangeLog-2009.html @@ -567,6 +567,12 @@ SetImagePixels().</li> <p>2009-09-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> +<li>version.sh: Released GraphicsMagick 1.3.7.</li> +</ul> +</blockquote> +<p>2009-09-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> <li>coders/msl.c, doc/conjure.imdoc: Add support for a new <cite>profile</cite> command in MSL/conjure which applies, adds, or removes one or more IPTC, ICC or generic profiles from a file. Work contributed by diff --git a/www/ChangeLog-2010.html b/www/ChangeLog-2010.html index 9f41146..cb5ecb4 100644 --- a/www/ChangeLog-2010.html +++ b/www/ChangeLog-2010.html @@ -503,6 +503,12 @@ proceed to the next file name rather than quitting. Problem was reported by Patrick Welche.</li> </ul> </blockquote> +<p>2010-03-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>version.sh: Released GraphicsMagick 1.3.12.</li> +</ul> +</blockquote> <p>2010-03-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> @@ -552,6 +558,12 @@ binary flag. This is intended to resolve Debian bug 571719 Vladimir Stavrinov.</li> </ul> </blockquote> +<p>2010-02-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>version.sh: Released GraphicsMagick 1.3.11.</li> +</ul> +</blockquote> <p>2010-02-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> @@ -585,6 +597,12 @@ character value is in the extended range. Problem reported by Arseny Solokha. Resolves SourceForge patch #2953314.</li> </ul> </blockquote> +<p>2010-02-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>version.sh: Released GraphicsMagick 1.3.10.</li> +</ul> +</blockquote> <p>2010-02-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> @@ -611,6 +629,12 @@ correctly for the case when only one image frame is present. With Coetzee.</li> </ul> </blockquote> +<p>2010-02-04 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>version.sh: Released GraphicsMagick 1.3.9.</li> +</ul> +</blockquote> <p>2010-02-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> @@ -698,6 +722,13 @@ omp_get_max_threads(). Otherwise there is a crash if the number of threads is reduced from the original value.</li> </ul> </blockquote> +<p>2010-01-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>version.sh: Released GraphicsMagick 1.3.8.</li> +<li>NEWS.txt: Update for the 1.3.8 release.</li> +</ul> +</blockquote> <p>2010-01-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> diff --git a/www/ChangeLog-2019.html b/www/ChangeLog-2019.html new file mode 100644 index 0000000..98429e0 --- /dev/null +++ b/www/ChangeLog-2019.html @@ -0,0 +1,1506 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> +<title>ChangeLog-2019.rst</title> +<link rel="stylesheet" href="docutils-articles.css" type="text/css" /> +</head> +<body> + +<div class="banner"> +<img src="images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" /> +<span class="title">GraphicsMagick</span> +<form action="http://www.google.com/search"> + <input type="hidden" name="domains" value="www.graphicsmagick.org" /> + <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" /> + <span class="nowrap"><input type="text" name="q" size="25" maxlength="255" /> <input type="submit" name="sa" value="Search" /></span> +</form> +</div> + +<div class="navmenu"> +<ul> +<li><a href="index.html">Home</a></li> +<li><a href="project.html">Project</a></li> +<li><a href="download.html">Download</a></li> +<li><a href="README.html">Install</a></li> +<li><a href="Hg.html">Source</a></li> +<li><a href="NEWS.html">News</a> </li> +<li><a href="utilities.html">Utilities</a></li> +<li><a href="programming.html">Programming</a></li> +<li><a href="reference.html">Reference</a></li> +</ul> +</div> +<div class="document"> + + +<p>2019-12-31 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/gradient.c (ReadGRADIENTImage): QueryColorDatabase() only +throws a warning so allow the warning to propagate to the user +rather than failing to report a useful message at all.</li> +</ul> +</blockquote> +<p>2019-12-30 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/gradient.c (GradientImage): OpenMP portability requires +that loop variable be signed.</li> +</ul> +</blockquote> +<p>2019-12-30 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/gradient.c: Visual studio does not compile file without +this fix.</li> +</ul> +</blockquote> +<p>2019-12-30 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> +<blockquote> +<ul class="simple"> +<li>VisualMagickconfigureconfigure.cpp Add option for speed optimisation +to achieve better performance.</li> +</ul> +</blockquote> +<p>2019-12-29 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/version.h.in: Bump copyright years.</li> +<li>magick/image.c (DisplayImages): Fix return status. Was +returning inverted return status.</li> +<li>coders/gradient.c (ReadGRADIENTImage): Support the +"gradient:direction" definition to produce produce additional +gradient vector directions corresponding to South, North, West, +East, NorthWest, NorthEast, SouthWest, and SouthEast. This +support is similar to a useful feature added in ImageMagick +6.9.2.5 although there is no claim that the results are identical, +even if the resulting images appear to be visually +indistinguishable.</li> +<li>magick/gradient.c (GradientImage): Add support for using the +image 'gravity' attribute to produce additional gradient vector +directions corresponding to SouthGravity (the previously-existing +default), NorthGravity, WestGravity, EastGravity, +NorthWestGravity, NorthEastGravity, SouthWestGravity, and +SouthEastGravity. Gradient images are updated to be PseudoClass +(color-mapped), if possible.</li> +</ul> +</blockquote> +<p>2019-12-28 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/gradient.c (GradientImage): Output PseudoClass images if +we can.</li> +<li>coders/pcx.c (WritePCXImage): Fix heap overflow in PCX writer +when bytes per line value overflows its 16-bit storage unit. +Fixes SourceForge bug #619 "heap-buffer-overflow in WritePCXImage" +reported by Suhwan Song.</li> +<li>magick/gradient.c (GradientImage): Gradient levels were still +not spot-on. Now they are. Unfortunately, this necessitated +re-generating reference test images based on gradient since the +gradient output has changed a little bit more than the test error +margins allow.</li> +</ul> +</blockquote> +<p>2019-12-25 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawImage): Test gradient image resource limits +using the proper API.</li> +<li>magick/resource.c (ResourceInfinity): Fix definition of +ResourceInfinity. Due to parenthesis in the wrong place, the +defined value was -1 rather than the maximum range value. The +effect of this is that GetMagickResource() would return -1 rather +than the maximum range value for the return type as documented. +Regression was added on Saturday, March 09, 2019 in the 1.3.32 +release via changeset 15927:a5318823758c.</li> +<li>tests/rwfile.c (main): Allow Ghostscript supported formats to be +a bit lossy.</li> +<li>tests/rwblob.c (main): Allow Ghostscript supported formats to be +a bit lossy.</li> +<li>magick/gradient.c (GradientImage): Compute blending alpha with +double precision for more precision.</li> +</ul> +</blockquote> +<p>2019-12-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>NEWS.txt: Updates in preparation for 1.3.34 release.</li> +</ul> +</blockquote> +<p>2019-12-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>NEWS.txt: Update with changes since the last GM release.</li> +<li>coders/png.c (png_read_raw_profile): Use size_t type to store +profile length and 'nibbles'. Use safer way to test for profile +buffer overflow. +(ReadOnePNGImage): Use size_t type to store 'ping_rowbytes', +'length', and 'row_offset'. Check png_pixels allocation for +arithemetic overflow when computing the required allocation size.</li> +<li>coders/tiff.c (WriteNewsProfile): Use size_t type to store +profile length.</li> +<li>coders/pict.c (WritePICTImage): Avoid 'alloc-size-larger-than' +warning from GCC when allocating row_bytes.</li> +</ul> +</blockquote> +<p>2019-12-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>tiff/libtiff/tiffconf.h: Add standard/common libtiff 'SUPPORT' +options which are used in full-fledged Autoconf/Cmake libtiff +builds but were missing from the Visual C template file. In +particular, WebP is now supported and JBIG is somewhat supported.</li> +<li>VisualMagick/jbig/libjbig/LIBRARY.txt (EXCLUDE): Remove +tstcodec85.c from JBIG library build.</li> +<li>VisualMagick/configure/configure.cpp: Add JBIG library to +include path when building libraries. Add WebP as a dependency +when building libtiff.</li> +</ul> +</blockquote> +<p>2019-12-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/nt_base.h ("C"): Assume that float versions of functions +became available in Visual Studio 2008.</li> +</ul> +</blockquote> +<p>2019-12-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/log.c (InitializeLogInfo): Using the compiled-in +defaults, always log to stderr by default, even under Microsoft +Windows. The logging output may then be diverted to +'win32eventlog' as soon as a log.mgk file is loaded if that is +desired. This should not be much of a problem because loading a +log.mgk file is the first thing that the library attempts to do. +This change is made due to users and developers being baffled at +not seeing any log output due to the log output going to the (very +unfriendly) Windows application log.</li> +<li>webp: libwebp is updated to the 1.0.3 release.</li> +</ul> +</blockquote> +<p>2019-12-15 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/nt_base.c Fix user only installation of Ghostscript.</li> +</ul> +</blockquote> +<p>2019-12-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>rungm.sh.in (DIRSEP): DIRSEP should always use Unix conventions for +Autotools-based builds.</li> +<li>magick/module.h ("C"): Eliminiate redundant and conflicting +ListModuleInfo() prototype.</li> +<li>coders/miff.c (ReadMIFFImage): Eliminate warnings in trace +statements.</li> +<li>coders/dib.c (DecodeImage): Eliminate warnings in trace +statements.</li> +<li>coders/bmp.c (DecodeImage): Eliminate warnings in trace +statements.</li> +<li>magick/studio.h (SupportMagickModules): Fix the preprocessor +logic controlling SupportMagickModules, which became broken for +GCC MinGW-based builds starting in the 1.3.29 release when a +"static" module loader was implemented. Due to an error in the +preprocessor logic, only the "modules" based build was working for +MinGW. Much thanks to Giovanni Remigi for making us aware of this +issue.</li> +</ul> +</blockquote> +<p>2019-12-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pict.c (WritePICTImage): Throw a writer exception if the +PICT width limit is exceeded. Fixes SourceForge issue 617 +"heap-buffer-overflow in function EncodeImage of coders/pict.c".</li> +</ul> +</blockquote> +<p>2019-12-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>jbig: jbigkit is updated to 2.1 release.</li> +<li>libxml: libxml2 is updated to 2.9.10 release.</li> +<li>bzlib: bzip is updated to 1.0.8 release.</li> +<li>zlib: zlib is updated to 1.2.11 release.</li> +<li>png: libpng is updated to 1.6.37 release.</li> +</ul> +</blockquote> +<p>2019-12-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>lcms: lcms2 is updated to 2.9 release.</li> +<li>tiff: libtiff is updated to 4.1.0 release.</li> +</ul> +</blockquote> +<p>2019-11-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawPatternPath): Don't leak memory if +fill_pattern or stroke_pattern of cloned draw_info are not null. +Fixes oss-fuzz issue 18948 "graphicsmagick:coder_MVG_fuzzer: +Indirect-leak in CloneImage". +(PrimitiveInfoRealloc): Clear freshly-allocated PrimitiveInfo +memory.</li> +</ul> +</blockquote> +<p>2019-11-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/attribute.c (GenerateEXIFAttribute): Fix oss-fuzz issue +17986 "graphicsmagick:coder_JPG_fuzzer: Heap-buffer-overflow in +GenerateEXIFAttribute". This problem likely only happens in +32-bit builds.</li> +</ul> +</blockquote> +<p>2019-11-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (ReadMNGImage): Only magnify the image if the +requested magnification methods are supported.</li> +</ul> +</blockquote> +<p>2019-11-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/compress.c (HuffmanDecodeImage): Fix signed overflow on +range check which leads to heap overflow in 32-bit +applications. Requires a relatively large file input compared with +typical fuzzer files (greater than a megabyte) to trigger. +Problem reported to the graphicsmagick-security mail address by +Justin Tripp on 2019-11-13. +(Ascii85Tuple): Fix thread safety issue by requiring caller to +pass in tuple buffer as an argument and having callers allocate +tuple buffer on the stack.</li> +</ul> +</blockquote> +<p>2019-11-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/bit_stream.c: Add restrict declarations to slightly +improve performance and decrease code size.</li> +<li>TclMagick/pkgIndex.tcl: Incorporate recommendations from third +problem noted in SourceForge issue #420 "TclMagick issues and +patch". This is supposed to help support using an uninstalled +GraphicsMagick and allow the installation path to contain a space.</li> +<li>wand/magick_wand.c (MagickClearException): Destroy any existing +exception info before re-initializing the exception info or else +there will be a memory leak.</li> +<li>TclMagick/generic/libttkcommon.c (myMagickError): Clear +exception from the Wand after it has been reported. Addresses the +fourth problem noted by SourceForge issue #420 "TclMagick issues +and patch". However, MagickClearException() already clears an +exception in the Wand, so a new function is not needed.</li> +<li>TclMagick/unix/m4/tcl.m4: Change hard-coded INSTALL path to +point to config/install-sh. Re-generated/updated Autotools stuff +by executing the genconf.sh script. Addresses the first problem +noted by SourceForge issue #420 "TclMagick issues and patch".</li> +</ul> +</blockquote> +<p>2019-11-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (SetNexus): Eliminate warning about +possibly uninitialized variable from primordial GCC 3.4.3.</li> +<li>magick/render.c (ConvertPrimitiveToPath): Eliminate warning that +IsClosedSubPath might be used uninitialized.</li> +<li>magick/common.h ("MAGICK_FALLTHROUGH"): Added a +MAGICK_FALLTHROUGH macro to support the GCC/Clang fallthrough +attribute when the time comes again that it would be useful.</li> +</ul> +</blockquote> +<p>2019-10-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pcx.c (ReadPCXImage): Verify that pixel region is not +negative. Assure that opacity channel is initialized to +opaqueOpacity. Update DirectClass representation while +PseudoClass representation is updated. Improve read performance +with uncompressed PCX.</li> +</ul> +</blockquote> +<p>2019-10-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/xpm.c (ReadXPMImage): Image properties are expected to +appear within the first 512 bytes of the XPM file header. fixes +oss-fuzz 18267 "graphicsmagick:coder_PICON_fuzzer: Timeout in +coder_PICON_fuzzer".</li> +</ul> +</blockquote> +<p>2019-10-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>configure.ac: Fix tcmalloc configuration report.</li> +</ul> +</blockquote> +<p>2019-10-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/wpg.c (ReadWPGImage): Implement subimage/subrange +support.</li> +<li>coders/mat.c (ReadMATImage, ReadMATImageV4): Implement +subimage/subrange support. Should resolve oss-fuzz 14999 +"graphicsmagick/coder_MAT_fuzzer: Out-of-memory in +graphicsmagick_coder_MAT_fuzzer".</li> +<li>coders/tiff.c (TIFFMapBlob): Fix compile problem if +LOG_TIFF_BLOB_IO is defined.</li> +<li>coders/wpg.c (ExtractPostscript): Improve performance. Avoid +temporary files if possible. Avoid additional memory allocations +if possible. Should address oss-fuzz issue 18173 +"graphicsmagick:enhance_fuzzer: Timeout in enhance_fuzzer" and +oss-fuzz issue 17714 "graphicsmagick:coder_WPG_fuzzer: Timeout in +coder_WPG_fuzzer".</li> +</ul> +</blockquote> +<p>2019-10-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pnm.c (PNMInteger): Place a generous arbitrary limit on +the amount of PNM comment text to avoid denial of service +opportunity. Fixes oss-fuzz 18162 "Timeout · coder_PNM_fuzzer".</li> +</ul> +</blockquote> +<p>2019-10-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/dps.c (ReadDPSImage): Fix memory leak when OpenBlob() +reports failure. Same as ImageMagick CVE CVE-2019-16709.</li> +</ul> +</blockquote> +<p>2019-09-27 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/attribute.c (GenerateEXIFAttribute): Skip +unsupported/invalid format 0. Fixes oss-fuzz issue 17597 +"graphicsmagick:coder_SFW_fuzzer: Heap-buffer-overflow in +GenerateEXIFAttribute".</li> +</ul> +</blockquote> +<p>2019-09-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>fuzzing/oss-fuzz-build.sh: Change by Alex Gaynor so that the +correct oss-fuzz fuzzing engine should be used.</li> +</ul> +</blockquote> +<p>2019-09-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/static.c (OpenModule): Static module loader should use +upper-cased magick string when searching for a module alias. +Fixes SourceForge issue #613 "static module loader is still +case-sensitive".</li> +</ul> +</blockquote> +<p>2019-09-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>configure.ac: Report status of zstd (FaceBook Zstandard) +compression in configuration summary.</li> +</ul> +</blockquote> +<p>2019-09-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (TraceArcPath): Substitute a lineto command when +tracing arc is impossible. Fixes oss-fuzz 10765 +"graphicsmagick/coder_MVG_fuzzer: Divide-by-zero in TraceArcPath".</li> +</ul> +</blockquote> +<p>2019-09-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (png_read_raw_profile): Fix validation of raw +profile length. Fixes oss-fuzz 16906 +"graphicsmagick:coder_ICO_fuzzer: Out-of-memory in +graphicsmagick_coder_ICO_fuzzer".</li> +<li>coders/wpg.c (ReallocColormap): Avoid dereferencing a null +pointer if image->colormap is null. Fixes oss-fuzz 17004 +"graphicsmagick:coder_WPG_fuzzer: Null-dereference READ in +ReallocColormap".</li> +</ul> +</blockquote> +<p>2019-09-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/memory.c (MagickRealloc): Add a note that the behavior of +this function is as described for BSD reallocf(3), which is now +appearing in Linux's GNU libc and elsewhere.</li> +</ul> +</blockquote> +<p>2019-09-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>www/OpenMP.rst: Document the significant OpenMP speed-up which +may be obtained by using an alternate memory allocation library. +Currently 'tcmalloc', 'mtmalloc', and 'umem' are supported as +options.</li> +<li>www/INSTALL-unix.rst: Document new --with-tcmalloc option to +enable using Google gperftools tcmalloc library.</li> +<li>configure.ac: Add support for using Google gperftools tcmalloc +library via the --with-tcmalloc option.</li> +<li>scripts/rst2htmldeco.py: Port to Python 3 syntax and require at +least Python 2.6.</li> +<li>scripts/relpath.py: Port to Python 3 syntax and require +at least Python 2.6.</li> +<li>scripts/html_fragments.py: Port to Python 3 syntax and require +at least Python 2.6.</li> +<li>scripts/format_c_api_doc.py: Port to Python 3 syntax and require +at least Python 2.6.</li> +</ul> +</blockquote> +<p>2019-08-27 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>doc/GraphicsMagick.imdoc: Document gm utility exit status codes.</li> +</ul> +</blockquote> +<p>2019-08-25 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (PRIMITIVE_INFO_POINTS_MAX): SIZE_MAX apparently +rounds up by one when cast to a double on 64-bit systems. Due to +this, and in order to set more rational implementation limits, add +a PRIMITIVE_INFO_POINTS_MAX definition which computes and +constrains the maximum number of PrimitiveInfo entries allowed.</li> +</ul> +</blockquote> +<p>2019-08-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/attribute.c (GenerateEXIFAttribute): Check that we are +not being directed to read an IFD that we are already parsing and +quit in order to avoid a loop. Addresses oss-fuzz 15753 +"graphicsmagick/coder_JPEG_fuzzer: Timeout in +graphicsmagick_coder_JPEG_fuzzer" and 16068 +"graphicsmagick/coder_SFW_fuzzer: Timeout in +graphicsmagick_coder_SFW_fuzzer".</li> +<li>tests/{constitute.c, drawtest.c, rwblob.c, rwfile.c}: Eliminate +irritating GCC 9 "__builtin_strncpy' output may be truncated" +warnings due to copying MaxTextExtent-1 characters. Instead +request copying all of the characters and also assure that string +is still null terminated.</li> +<li>doc/environment.imdoc: Update documentation pertaining to HOME +and MAGICK_DEBUG environment variables.</li> +</ul> +</blockquote> +<p>2019-08-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/log.c (DestroyLogInfo): Only output text to terminate an +XML format log file if XML format is active.</li> +</ul> +</blockquote> +<p>2019-08-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (ExtractTokensBetweenPushPop): Previous fix for +non-terminal loop was broken by a last-minute untested edit. +Finally addresses oss-fuzz 15318 "graphicsmagick/coder_MVG_fuzzer: +Timeout in graphicsmagick_coder_MVG_fuzzer".</li> +</ul> +</blockquote> +<p>2019-08-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>fuzzing/utils.cc (MemoryResource): Lessen the memory limit used +for oss-fuzz testing in order to provide more headroom and margin +for error.</li> +<li>magick/render.c (TraceBezier): Detect arithmetic overflow and +return errors via normal error path rather than exiting. Fixes +oss-fuzz 16450 "graphicsmagick:coder_MVG_fuzzer: Unexpected-exit +in DefaultFatalErrorHandler". +(PrimitiveInfoRealloc): Implement more paranoid code related to +primitive allocation.</li> +</ul> +</blockquote> +<p>2019-08-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawStrokePolygon): Handle case where +TraceStrokePolygon() returns NULL. Addresses oss-fuzz 15516 +"graphicsmagick/coder_MVG_fuzzer: ASSERT: primitive_info != +(PrimitiveInfo *) NULL". +(DrawDashPolygon): Handle case where DrawStrokePolygon() returns +MagickFail. Also needed to address oss-fuzz 15516, since otherwise +test-cases run for a very long time. +(ExtractTokensBetweenPushPop): Fix non-terminal parsing loop. +Addresses oss-fuzz 15318 "graphicsmagick/coder_MVG_fuzzer: Timeout +in graphicsmagick_coder_MVG_fuzzer".</li> +</ul> +</blockquote> +<p>2019-08-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/memory.h (MagickMallocAlignedArray): Add function +attributes for added value and to quench GCC 9 warning with +special build options enabled.</li> +<li>magick/deprecate.h (AcquireMemory): Add more function attributes +to quench GCC 9 warning with special build options enabled.</li> +<li>magick/attribute.c (GenerateEXIFAttribute): Fix compilation +warning in 32-bit build.</li> +<li>coders/dpx.c (AttributeToString): Eliminate annoying warnings +from GCC 9, although the code was correct.</li> +<li>coders/msl.c (MSLStartElement): Fix defective opacity percentage +code revealed by GCC 9 warning.</li> +</ul> +</blockquote> +<p>2019-08-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (ReadMNGImage): Skip coalescing layers if there is +only one layer. Fixes oss-fuzz 16274 +"graphicsmagick/coder_MNG_fuzzer: Unexpected-exit in +DefaultFatalErrorHandler".</li> +</ul> +</blockquote> +<p>2019-08-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (ReadPNGImage): Post-processing to convert the +image type in the PNG reader based on a specified magick prefix +string is now disabled. This can (and should) be done after the +image has been returned. Fixes oss-fuzz 16386 +"graphicsmagick:coder_PNG8_fuzzer: Timeout in +graphicsmagick_coder_PNG8_fuzzer".</li> +</ul> +</blockquote> +<p>2019-07-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>NEWS.txt: Updates in preparation for 1.3.33 release.</li> +</ul> +</blockquote> +<p>2019-07-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>NEWS.txt: Updated NEWS to reflect updates since last release.</li> +</ul> +</blockquote> +<p>2019-07-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (WriteOnePNGImage): Fix saving to palette when +image has an alpha channel but no color is marked as transparent. +Patch submitted by Przemysław Sobala via SourceForge patch #61 +"WriteOnePNGImage(): Fix saving to palette when image has an alpha +channel but no color is marked as transparent".</li> +<li>doc/options.imdoc (characters): Fix -format documentation to +reflect that '%r' returns the image type. Patch submitted by +Przemysław Sobala via SourceForge patch #60 "Fix documentation +typo".</li> +</ul> +</blockquote> +<p>2019-07-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/tempfile.c (AcquireTemporaryFileDescriptor): Fix +compilation under Cygwin. Patch by Marco Atzeri and submitted via +email to the graphicsmagick-help mailing list on Fri, 5 Jul 2019.</li> +</ul> +</blockquote> +<p>2019-06-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/attribute.c (GenerateEXIFAttribute): Added range checks +and tracing. Fixes oss-fuzz 14998 +"graphicsmagick/coder_JPEG_fuzzer: Heap-buffer-overflow in +Read32s". This is a tiny read overflow.</li> +<li>coders/miff.c (ReadMIFFImage): Similar fix as to mpc.c</li> +<li>coders/mpc.c (ReadMPCImage): Fix faulty signed overflow logic +for profiles[i].length which still allowed overflow. Fixes +oss-fuzz issue 15190 "graphicsmagick/coder_MPC_fuzzer: +Out-of-memory in graphicsmagick_coder_MPC_fuzzer".</li> +<li>doc/options.imdoc: Add notes about security hazards due to +commands which support a <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax.</li> +<li>www/security.rst: Add notes about security hazards due to +commands which support a <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax.</li> +</ul> +</blockquote> +<p>2019-06-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawImage): Assure that 'token' is initialized. +Fixes oss-fuzz issue 14897 "graphicsmagick/coder_MVG_fuzzer: +Use-of-uninitialized-value in DrawImage".</li> +<li>magick/animate.c (MagickXAnimateImages): Fix memory leak of +scene_info.pixels.</li> +<li>magick/display.c (MagickXDisplayImage): Fix heap overwrite of +windows->image.name and windows->image.icon_name buffers. It +appears that the code assumed that CloneString() would always +allocated a string at least MaxTextExtent in size. I assume that +this issue has existed for a very long time since CloneString() +was re-written many years ago.</li> +<li>coders/caption.c (ReadCAPTIONImage): The CAPTION reader did not +appear to work at all any more. Now it works again, but still not +very well.</li> +<li>magick/command.c: Re-implement '@' file inclusion support for +-comment, -draw, -format, and -label which was removed for the +1.3.32 release. Note that arguments from untrusted sources will +still need to be sanitized to detect attempts to subvert this +feature to access file data, but this feature has always been +supported by GraphicsMagick and it originated early in the +development of ImageMagick.</li> +</ul> +</blockquote> +<p>2019-06-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/utility.c (MagickStrlCat, MagickStrlCpy): Add debug +checks enabled by MAGICK_STRL_CHECK.</li> +<li>magick/montage.c (MontageImages): Fix wrong length argument to +strlcat() when building montage directory, which could allow heap +overwrite.</li> +<li>coders/png.c (RegisterPNGImage): Pass correct size value to +strlcat(). Under Apple's OS X (and possibly other targets) +strlcat() writes bytes beyond what it needs to (but within the +range it is allowed to) causing a crash due to the wrong limit +value. Fixes SourceForge issue #609 <cite>gm identify foo.png</cite> crashes +on macOS (v 1.3.32).</li> +<li>www/Changes.rst: Update ChangeLog links due to new year, and +1.3.32 release.</li> +</ul> +</blockquote> +<p>2019-06-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/bmp.c (WriteBMPImage): Detect arithmetic overflow of +image_size. Add more tracing. Reduce compilation warnings. +(EncodeImage): Reduce compilation warnings. +(WriteBMPImage): Assure that chromaticity uses double-precision +for multiply before casting to unsigned integer.</li> +<li>coders/wpg.c (ReallocColormap): Reduce compilation warnings.</li> +<li>coders/braille.c (WriteBRAILLEImage): Reduce compilation +warnings.</li> +<li>coders/dib.c (WriteDIBImage): Detect arithmetic overflow of +image_size. Reduce compilation warnings. +(EncodeImage): Reduce compilation warnings.</li> +<li>coders/locale.c (WriteLOCALEImage): Reduce compilation warnings.</li> +</ul> +</blockquote> +<p>2019-06-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>Makefile.am (dist-zstd): Use the maximum possible compression +level (22) when creating a Zstd-compressed tarball to get close to +lzip/xz compression levels.</li> +<li>coders/tiff.c (ReadTIFFImage): Fix typo in initialization of +'tile' pointer variable.</li> +<li>version.sh: Updates in preparation for 1.3.32 release.</li> +</ul> +</blockquote> +<p>2019-06-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>Makefile.am (release): Add a release target to make it easier to +produce and sign the release files. Add a zstd-compressed output +tarball just because we can.</li> +</ul> +</blockquote> +<p>2019-06-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawImage): Fix typo when initializing +number_coordinates. Somehow GCC and clang let this typo slip by.</li> +</ul> +</blockquote> +<p>2019-06-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/dib.c (ReadDIBImage): Preserve PseudoClass opaque +representation if ICO mask is opaque, otherwise return a +DirectClass image.</li> +</ul> +</blockquote> +<p>2019-06-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawImage): Detect an error in TracePath() and +quit rather than forging on.</li> +</ul> +</blockquote> +<p>2019-06-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawImage): Terminate drawing if +DrawCompositeMask() reports failure. Fixes oss-fuzz 12373 +"graphicsmagick/coder_MVG_fuzzer: Timeout in +graphicsmagick_coder_MVG_fuzzer". +(TracePath): Terminate path parsing upon first parsing error.</li> +</ul> +</blockquote> +<p>2019-06-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/txt.c (ReadTXTImage): Use real a new-line character as +line delimiter rather than 'n' string.</li> +<li>magick/annotate.c (AnnotateImage): No longer implicitly call +TranslateText() since this is not suitable for most use-cases and +causes additional performance impact. The API user can perform +such translations in advance on the text string using +TranslateText() if need be. No longer call StringToList() to +split strings into an array of strings since this can lead to +unexpected results, and a custom-splitter is more efficient.</li> +</ul> +</blockquote> +<p>2019-06-06 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawImage): Only support <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax to +read drawing primitive from a file if we are not already drawing.</li> +<li>magick/utility.c (TranslateTextEx): Remove support for reading +from a file using <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax due to security concerns. +Problem was reported to us by "Battle Furry" via the +GraphicsMagick security mail alias on June 6, 2019.</li> +</ul> +</blockquote> +<p>2019-06-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/utility.c (SetClientFilename): Reduce initialized data +some more.</li> +</ul> +</blockquote> +<p>2019-06-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/nt_base.c: Search for n019003l.pfb (the "Helvetica"-like +font) rather than fonts.dir since fonts.dir is not present in all +URW font collections.</li> +<li>NEWS.txt: Update news.</li> +</ul> +</blockquote> +<p>2019-06-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/logo.c: Tidy logo image definitions, and logo image +output.</li> +</ul> +</blockquote> +<p>2019-05-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/mat.c: Make more data const.</li> +</ul> +</blockquote> +<p>2019-05-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/animate.c: Reduce initialized static allocations.</li> +<li>magick/display.c: Reduce initialized static allocations.</li> +<li>magick/widget.c (MagickSplitNDLTextToList): Add static +implementation function.</li> +</ul> +</blockquote> +<p>2019-05-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/webp.c (RegisterWEBPImage): Use sprintf to format version +since snprintf is not available in old Visual Studio.</li> +</ul> +</blockquote> +<p>2019-05-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/dcm.c: Make more data const.</li> +<li>www/INSTALL-unix.rst: Add documentation for how to install URW +fonts from various package management systems.</li> +</ul> +</blockquote> +<p>2019-05-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>www/authors.rst: Add authorship attribution to Samuel Thibault +for contributing support for the Braille image format.</li> +<li>coders/braille.c: Add support for Braille image format by Samuel +Thibault. Patch submitted via SourceForge patch #59 "Add braille +image format support.</li> +</ul> +</blockquote> +<p>2019-05-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/tempfile.c: Make more data const.</li> +<li>magick/signature.c: Make more data const.</li> +<li>magick/quantize.c: Make more data const.</li> +<li>magick/attribute.c: Make more data const.</li> +<li>coders/png.c: Make more data const.</li> +<li>coders/mpeg.c: Make more data const.</li> +<li>coders/wmf.c: Make more data const.</li> +<li>coders/tile.c: Make more data const.</li> +</ul> +</blockquote> +<p>2019-05-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/enum_strings.c: Make more data const.</li> +</ul> +</blockquote> +<p>2019-05-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/magick.c: Make more data const.</li> +<li>magick/type.c (GetTypeInfoByFamily): Make more data const.</li> +<li>magick/unix_port.c (MagickGetMMUPageSize): Decrease initialized +data.</li> +<li>magick/utility.c (GetPageGeometry): Make more data const.</li> +<li>coders/pdf.c (WritePDFImage): Allocate working buffer on stack +and pass as argument to EscapeParenthesis() to eliminate a thread +safety problem and also reduce BSS size.</li> +<li>coders/webp.c (RegisterWEBPImage): Fix compiler warning.</li> +<li>coders/jbig.c (RegisterJBIGImage): Make more data const.</li> +<li>coders/pict.c (DecodeImage): Allocate output buffer used by +ExpandBuffer() on the stack rather than as static data private to +ExpandBuffer(). Eliminates a thread safety problem and also +reduces BSS size.</li> +<li>coders/webp.c (RegisterWEBPImage): Reduce BSS size.</li> +</ul> +</blockquote> +<p>2019-05-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/jp2.c: Make more data const.</li> +<li>coders/wmf.c: Make more data const.</li> +<li>coders/ps.c (WritePSImage): Make more data const.</li> +<li>coders/ps2.c (WritePS2Image): Make more data const.</li> +</ul> +</blockquote> +<p>2019-05-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/static.c: Revert to previous 'name' storage. Callback +functions in structure block being properly const.</li> +<li>coders/xpm.c: Make more data const.</li> +<li>coders/pnm.c: Make more data const.</li> +<li>coders/palm.c: Make more data const.</li> +<li>coders/meta.c: Make more data const.</li> +<li>coders/dcraw.c: Make more data const.</li> +<li>magick/command.c: Fix compilation problem when HasX11 is not +defined.</li> +</ul> +</blockquote> +<p>2019-05-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/command.c: Make more data const.</li> +</ul> +</blockquote> +<p>2019-05-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/webp.c (RegisterWEBPImage): Make more data const.</li> +<li>coders/svg.c (RegisterSVGImage): Reduce BSS size.</li> +<li>coders/miff.c (RegisterMIFFImage): Fix version reporting.</li> +<li>coders/ttf.c (RegisterTTFImage): Fixed reporting of FreeType +version.</li> +<li>coders/tiff.c (RegisterTIFFImage): Reduce BSS size.</li> +<li>coders/sfw.c (ReadSFWImage): Make SFW static data completely +const.</li> +<li>coders/ps3.c: Make PS3 static data completely const.</li> +<li>coders/pict.c: Make PICT static data completely const.</li> +<li>magick/error.c (ThrowException, ThrowLoggedException): Handle +the case where some passed character strings refer to existing +exception character strings. Fixes SourceForge issue #603 +"heap-use-after-free in function ThrowLoggedException of +magick/error.c". +(CatchException): Restructure so there is one return point.</li> +<li>coders/miff.c (ImportRLEPixels): Fix heap overflow caused by a +typo in the code. Also fix undefined behavior caused by large +left shifts of an unsigned char. Fixes SourceForge issue #608 +"heap-buffer-overflow in ImportRLEPixels of coders/miff.c.</li> +</ul> +</blockquote> +<p>2019-05-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/bmp.c (ReadBMPImage): Fix subrange/scene handling in +'ping' mode so it is like the other formats. Only the first frame +was being enumerated while in 'ping' mode.</li> +</ul> +</blockquote> +<p>2019-05-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>NEWS.txt: Update news.</li> +<li>magick/utility.c (ExpandFilenames): Only expand <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' to a +list of arguments read from 'filename' if the path <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' +does not exist. This fix is made based on an email posting to the +'graphicsmagick-help' mailing list at SourceForge by "Test User" +on Tue, 7 May 2019.</li> +</ul> +</blockquote> +<p>2019-05-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/colorspace.c: Reorder initialization of colorspace tables +for a possible performance improvement.</li> +<li>magick/fx.c (WaveImage): Use float for sin map.</li> +<li>configure.ac: Test for float versions of math functions.</li> +<li>magick/gem.c (GenerateDifferentialNoise): Use float versions of +math functions when available.</li> +</ul> +</blockquote> +<p>2019-05-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>www/INSTALL-unix.rst: Expanded configure documentation for +--with-modules. Added specific configure documentation for +--with-umem and --with-mtmalloc, which may be useful on +Solaris-derived systems.</li> +</ul> +</blockquote> +<p>2019-04-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/command.c (VersionCommand): Show OpenMP specification +version corresponding to version enumeration.</li> +<li>magick/locale.c (GetLocaleMessageFromTag): Eliminate clang +warning about comparison with a constant value.</li> +<li>magick/log.c (InitializeLogInfo): Initialize LogInfo log_configured.</li> +</ul> +</blockquote> +<p>2019-04-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/magic.c (struct): Ajust StaticMagic definition to be more +const-friendly.</li> +<li>magick/color_lookup.c (struct): Adjust StaticColors definition +to be more const-friendly.</li> +<li>magick/attribute.c: Ajust tag_table definition to be more +const-friendly.</li> +<li>magick/log.c: Allocate LogInfo from heap as we used to do.</li> +<li>magick/locale.c (GetLocaleMessageFromTag): Adaptations to locale +coder output changes.</li> +<li>coders/locale.c (WriteLOCALEImage): Adjust locale coder output +to be more const.</li> +</ul> +</blockquote> +<p>2019-04-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/color_lookup.c: Make built-in color tables fully const.</li> +<li>magick/animate.c: Use MagickXTextViewWidgetNDL() to display help +text.</li> +<li>magick/display.c: Use MagickXTextViewWidgetNDL() to display help +text.</li> +<li>magick/widget.c (MagickXTextViewWidgetNDL): New private function +to display multi-line null-delimited text in an X11 widget.</li> +<li>coders/xwd.c (ReadXWDImage): Added even more XWD header +validation logic. Addresses problems noted by email from Hongxu +Chen to the graphicsmagick-security mail alias on Fri, 19 Apr 2019 +and Sat, 20 Apr 2019 and entitled "Multiple crashes (FPE and +invalid read) when processing XWD files".</li> +</ul> +</blockquote> +<p>2019-04-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/xwd.c (ReadXWDImage): Added even more XWD header +validation logic. Addresses problems noted by email from Hongxu +Chen to the graphicsmagick-security mail alias on Wed, 17 Apr 2019 +and entitled "Multiple crashes (FPE and invalid read) when +processing XWD files". Also addresses additional issues noted +that an attacker could request to allocate an arbitrary amount of +memory based on ncolors and the claimed header size.</li> +</ul> +</blockquote> +<p>2019-04-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/xwd.c (ReadXWDImage): Add more XWD header validation +logic. Addresses problems noted by email from Hongxu Chen to the +graphicsmagick-security mail alias on Sun, 14 Apr 2019 and +entitled "Multiple crashes (FPE and invalid read) when processing +XWD files".</li> +</ul> +</blockquote> +<p>2019-04-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pdb.c (WritePDBImage): Assure that input scanline is +cleared in order to cover up some decoder bug. May fix 14215 +"graphicsmagick/coder_PDB_fuzzer: Use-of-uninitialized-value in +WritePDBImage", which I have not been able to reproduce.</li> +<li>magick/render.c (DrawPrimitive): Check primitive point x/y +values for NaN. +(DrawImage): Fix oss-fuzz issue 14173 +"graphicsmagick/coder_MVG_fuzzer: Integer-overflow in DrawImage".</li> +<li>magick/pixel_cache.c (SetNexus): Fix oss-fuzz issue 14208 +"graphicsmagick/coder_MVG_fuzzer: Integer-overflow in SetNexus".</li> +</ul> +</blockquote> +<p>2019-04-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/display.c: Add even more const declarations.</li> +<li>coders/mat.c (WriteMATLABImage): Add completely missing error +handling. Fixes SourceForge issue #604 "heap-buffer-overflow in +function WriteMATLABImage of coders/mat.c".</li> +</ul> +</blockquote> +<p>2019-04-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pdb.c (WritePDBImage): Fix SourceForge issue #605 +"heap-buffer-overflow in function WritePDBImage of coders/pdb.c".</li> +<li>magick/widget.c: Add many const declarations.</li> +<li>magick/display.c: Incorporate and eliminate display.h. Add many +const declarations.</li> +<li>magick/animate.c: Incorporate and eliminate animate.h. Add many +const declarations.</li> +</ul> +</blockquote> +<p>2019-04-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/wmf.c (ReadWMFImage): Reject WMF files with an empty +bounding box. Fixes SourceForge issue #606 "Division by Zero in +coders/wmf.c".</li> +</ul> +</blockquote> +<p>2019-04-07 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/nt_base.c Fix a problem of finding ghostscript fonts. +Variable "font_dir" was useless and thus removed. No need to copy +text multiple times. Use const char gs_font_dir[] instead of +pointer.</li> +</ul> +</blockquote> +<p>2019-04-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/xwd.c (ReadXWDImage): Perform more header validations and +a file size validation in order to reject files with bogus +headers. +(WriteXWDImage): Fix SourceForge issue #599 +"heap_buffer_overflow_WRITE in function WriteXWDImage of +coders/xwd.c".</li> +</ul> +</blockquote> +<p>2019-04-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/svg.c (SVGStartElement): Fix stack buffer overflow while +parsing quoted font family value. Fixes SourceForge issue #600 +"stack-buffer-overflow in function SVGStartElement of +coders/svg.c".</li> +<li>coders/miff.c (ReadMIFFImage): Detect end of file while reading +RLE packets. Fixes SourceForge issue #598 "heap-buffer-overflow +in function ReadMIFFImage of coders/miff.c".</li> +</ul> +</blockquote> +<p>2019-04-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/xwd.c (ReadXWDImage): Fix heap buffer overflow while +reading DirectClass XWD file. Fixes SourceForge issue #597 +"heap-buffer-overflow in function ReadXWDImage of coders/xwd.c".</li> +</ul> +</blockquote> +<p>2019-04-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (ReadMNGImage): Fix small buffer overflow (one +PixelPacket) of image colormap. Fixes SourceForge issue #596 +"heap-buffer-overflow in function CloneImage of magick/image.c".</li> +<li>magick/colormap.c (ReallocateImageColormap): New function to +reallocate an image colormap.</li> +<li>coders/logo.c: Make more static data const.</li> +<li>magick/module_aliases.h: Make more static data const.</li> +<li>magick/static.c: Make more static data const.</li> +</ul> +</blockquote> +<p>2019-04-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/log.c (LogMagickEventList): Log elapsed time with +microsecond precision.</li> +</ul> +</blockquote> +<p>2019-03-31 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/mpc.c (ReadMPCImage): Deal with a profile length of zero, +or an irrationally large profile length. Fixes SourceForge issue +#601 "memory leak in function ReadMPCImage of coders/mpc.c ".</li> +<li>magick/xwindow.c (MagickXGetWindowInfo): Deal with the unlikely +case that the memory allocation for window->segment_info +fails. Fixes SourceForge #595 "use allocate memory before null +check" as pertains to magick/xwindow.c.</li> +<li>magick/segment.c (Classify): Add check for memory allocation +failure when allocating cluster array. Fixes SourceForge #595 "use +allocate memory before null check" as pertains to +magick/segment.c.</li> +<li>coders/pdb.c (ReadPDBImage): Fix use of allocated memory before +null check. Fixes SourceForge #595 "use allocate memory before +null check" as pertains to coders/pdb.c.</li> +</ul> +</blockquote> +<p>2019-03-30 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (AllocateThreadViewSet): Simplify the image +view model by adding NexusInfo to the View structure (rather than +referencing it via a pointer) to lessen the number of required +per-thread allocations and to improve locality of reference.</li> +</ul> +</blockquote> +<p>2019-03-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/wpg.c (WPG1_Palette): Change to a static declaration.</li> +<li>coders/dcm.c: dicom_info array is now fully in the data segment.</li> +</ul> +</blockquote> +<p>2019-03-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>configure.ac: Add support for using the Solaris mtmalloc +library. This is primarily for testing or as an alternative to +Solaris umem. +Stop using posix_memalign() until it is uniformly more mature and +reliably quick.</li> +</ul> +</blockquote> +<p>2019-03-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (SetNexus): Smallest staging-area +allocation is cache line size so declare it as such.</li> +<li>magick/fx.c: Functions in the fx module which return a new Image +should return a null Image if an exception was thrown. Also, +assure that user has an opportunity to see the exception which was +thrown.</li> +<li>magick/error.c (ThrowLoggedException): Throwing an exception is +now thread-safe.</li> +<li>magick/pixel_cache-private.h: Moved pixel cache private +definitions to private header.</li> +</ul> +</blockquote> +<p>2019-03-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (SetNexus): Pass x, y, columns, and rows +rather than a pointer to RectangleInfo. This should be easier to +inline on modern CPUs.</li> +</ul> +</blockquote> +<p>2019-03-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (SetNexus): Cache resource limits in +CacheInfo rather than repeatedly calling into the resource code in +order to lessen the overhead of performing resource limit checks +on the pixel cache views.</li> +<li>magick/resource.c (AcquireMagickResource): Use a lock for each +resource in order to lessen contention. Return a maximum 64-bit +integer value if the resource has not been limited. Previously +returned -1 in this case but this was not documented.</li> +</ul> +</blockquote> +<p>2019-03-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/import.c (ImportViewPixelArea): If range between max and +min is less than MagickEpsilon, produce a black image rather than +throwing an exception.</li> +<li>coders/mat.c (ReadMATImage): Fix memory leak on unexpected end +of file. Fixes oss-fuzz 13556 "graphicsmagick/coder_MAT_fuzzer: +Direct-leak in ReadMATImage". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-03-06 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/mat.c (ReadMATImage): Quit if image scanlines are not +fully populated due to exception. Fixes oss-fuzz 13530 +"graphicsmagick/coder_MAT_fuzzer: Use-of-uninitialized-value in +InsertComplexFloatRow". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-03-04 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/txt.c (ReadTXTImage): Don't start new line if x_max < +x_min. Avoids calling SetImagePixels() with a width of zero. +Related to oss-fuzz 13521 "graphicsmagick/coder_TEXT_fuzzer: +Floating-point-exception in SetNexus". (Credit to OSS-Fuzz)</li> +<li>magick/pixel_cache.c (SetNexus): Report error for empty region +rather than crashing due to divide by zero exception. This is a +new bug due to yesterday's changes. Fixes oss-fuzz 13521 +"graphicsmagick/coder_TEXT_fuzzer: Floating-point-exception in +SetNexus". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-03-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>design/pixel-cache.dot: Update design dot diagram to remove +IsNexusInCore and add CompositeCacheNexus.</li> +<li>magick/pixel_cache.c (SetNexus): Apply resource limits to pixel +nexus allocations using the same limits (total pixels, width, +height, memory) as applied to the whole image since some requests +are directly influenced by the input file. Add yet more tests for +arithmetic overflow. Whole source module is re-arranged so that +static functions are in order of dependency so that forward +prototype declarations are no longer needed. Fixes oss-fuzz 13210 +"graphicsmagick/coder_MVG_fuzzer: Integer-overflow in +SetNexus". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-03-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (OpenCache): Use unsigned 64-bit value to +store CacheInfo offset and length as well as for the total pixels +calculation. Add some more arithmetic overflow detections.</li> +<li>coders/topol.c (ReadTOPOLImage): Report a corrupt image +exception "Unexpected end-of-file" if reader encounters end of +file while reading header rows. Addresses oss-fuzz 7981 +"graphicsmagick/coder_TOPOL_fuzzer: Use-of-uninitialized-value in +InsertRow". (Credit to OSS-Fuzz)</li> +<li>coders/mat.c (ReadMATImage): Report a corrupt image exception +"Unexpected end-of-file" if reader encounters end of file while +reading scanlines. Also added some helpful traces. Hopefully +addresses oss-fuzz 13445 "graphicsmagick/coder_MAT_fuzzer: +Use-of-uninitialized-value in IsGrayImage". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-02-26 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/image.h ("C"): Include as "magick/image-private.h" as the +other headers are. +("C"): Include "magick/image-private.h" inside the protective +MAGICK_IMPLEMENTATION guard, as it should have been. This error +broke the oss-fuzz build.</li> +</ul> +</blockquote> +<p>2019-02-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/image-private.h (_ImageExtra): Put ImageExtra definition +in a private header file so that its definition may be accessed +directly by library internals. Add some accessor macros to +provide access and update code to use them.</li> +<li>coders/wpg.c (ReallocColormap): Make sure that there is not a +heap overwrite if the number of colors has been reduced. Thanks +to Jaroslav Fojtik for giving me a heads up about this.</li> +</ul> +</blockquote> +<p>2019-02-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/monitor.c (MagickMonitorActive): Add new private function +to test if a progress monitor is active. Update all progress +monitor code in loops to use this information, while also updating +code to hopefully address concerns expressed by Hongxu Chen about +data races on the graphicsmagick-bugs mailing list starting on +February 6, 2019.</li> +</ul> +</blockquote> +<p>2019-02-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/mpc.c (ReadMPCImage): Tally directory length to avoid +death by strlen().</li> +<li>coders/miff.c (ReadMIFFImage): Tally directory length to avoid +death by strlen(). Fixes oss-fuzz 13190 +"graphicsmagick/coder_MIFF_fuzzer: Timeout in +graphicsmagick_coder_MIFF_fuzzer". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-02-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/svg.c (ReadSVGImage): Don't call xmlCleanupParser() +in module code since this may cause other libxml users to fail.</li> +<li>coders/msl.c (ProcessMSLScript): Don't call xmlCleanupParser() +in module code since this may cause other libxml users to fail.</li> +<li>magick/render.c (DrawDashPolygon): (DrawDashPolygon): Don't read +beyond end of dash pattern array. This is a second instance of +issue identified by SourceForge issue #591. Fixes oss-fuzz 13160 +"graphicsmagick/coder_MVG_fuzzer: Heap-buffer-overflow in +DrawDashPolygon". The earlier attempt to fix this problem today +broke dash patterns entirely. (Credit to OSS-Fuzz)</li> +<li>magick/annotate.c (RenderFreetype): Eliminate memory leak of +GlyphInfo.image (type FT_Glyph) while rendering some FreeType +fonts such as the one we use now in the Magick++ test suite.</li> +</ul> +</blockquote> +<p>2019-02-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/render.c (DrawDashPolygon): Avoid reading one beyond +length of dash pattern array, which is terminated by value 0.0. +Fixes SourceForge issue #591 "Heap buffer overflow in +DrawDashPolygon when parsing SVG images". +(DrawPrimitive): Add arithmetic overflow checks when converting +computed coordinates from 'double' to 'long'. +(DrawImage): Don't destroy draw_info in graphic_context when +draw_info has not been allocated yet. Problem reported via email +by Sami Supperi on Thu, 14 Feb 2019.</li> +<li>coders/jpeg.c (ReadJPEGImage): JPEG files are observed to +provide compression ratios as high as 2500 so allow for that. +Also, the test for "Unreasonable dimensions" delivered yesterday +was flawed since magick_rows and magick_columns are only set if a +desired image size was provided. Fixes SourceForge issue 592 +"Non-malicious JPEG file fails with "Unreasonable dimensions"".</li> +<li>coders/tiff.c (ReadTIFFImage): Only disassociate alpha channel +for images where photometic is PHOTOMETRIC_RGB. Fixes oss-fuzz +13115 "graphicsmagick/coder_PTIF_fuzzer: +Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to +OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-02-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/jpeg.c (ReadJPEGImage): Base test for "Unreasonable +dimensions" on original JPEG dimensions and not the scaled +dimensions. Fixes SourceForge issue 593 "gm convert: Insufficient +image data in file when hinting input image".</li> +</ul> +</blockquote> +<p>2019-02-13 Troy Patteson <<a class="reference external" href="mailto:troyp%40ieee.org">troyp<span>@</span>ieee<span>.</span>org</a>></p> +<blockquote> +<ul class="simple"> +<li>PerlMagick/Magick.xs (Mogrify): Add decorate argument to Annotate.</li> +<li>PerlMagick/Magick.xs (Mogrify): Remove reference to undefined +Annotate argument.</li> +</ul> +</blockquote> +<p>2019-02-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/tiff.c (ReadTIFFImage): For planar TIFF, make sure that +pixels are initialized in case some planes are missing. Fixes +oss-fuzz 13046 "graphicsmagick/coder_PTIF_fuzzer: +Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to +OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-02-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pdf.c (WritePDFImage): Make sure to free 'xref' before +returning. Similar to ImageMagick CVE-2019-7397 "In ImageMagick +before 7.0.8-25, several memory leaks exist in WritePDFImage in +coders/pdf.c.". Thanks to Petr Gajdos for bringing this issue to +our attention.</li> +</ul> +</blockquote> +<p>2019-02-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/wpg.c (ReadWPGImage): Use a different way to reallocate +the colormap which preserves existing content, but also updates +image->colors and assures that added palette entries are +initialized.</li> +<li>coders/png.c (ReadMNGImage): Bound maximum loop iterations by +subrange as a primitive means of limiting resource consumption. +This should finally resolve oss-fuzz 12738 +"graphicsmagick/enhance_fuzzer: Out-of-memory in +graphicsmagick_enhance_fuzzer". (Credit to OSS-Fuzz)</li> +<li>coders/tiff.c (ReadTIFFImage): Assure that opacity channel is +initialized in the RGBAStrippedMethod case. Convert +'CorruptImageError' encountered while testing for more frames to +'CorruptImageWarning' so we return the frames already read. +Second try at fixing oss-fuzz 11896 +"graphicsmagick/coder_PTIF_fuzzer: Use-of-uninitialized-value in +VerticalFilter".</li> +<li>coders/dpx.c (AttributeToString): Eliminate clang +"-Wstring-plus-int" warning observed in oss-fuzz build.</li> +<li>coders/cineon.c (AttributeToString): Eliminate clang +"-Wstring-plus-int" warning observed in oss-fuzz build.</li> +</ul> +</blockquote> +<p>2019-02-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pict.c (DecodeImage): Avoide a one-byte over-read of +pixels heap allocation. The cause of the over-read is not yet +understood. Fixes oss-fuzz 12019 +"graphicsmagick/coder_PICT_fuzzer: Heap-buffer-overflow in +ExpandBuffer". (Credit to OSS-Fuzz)</li> +<li>coders/wpg.c (ReadWPGImage): Assure that all colormap entries +are initialized. Fixes oss-fuzz 12614 +"graphicsmagick/enhance_fuzzer: Use-of-uninitialized-value in +EnhanceImage". (Credit to OSS-Fuzz)</li> +<li>coders/tiff.c (ReadTIFFImage): Make sure that image is in +DirectClass mode and ignore any claimed colormap when the image is +read using the RGBAStrippedMethod, RGBATiledMethod, or +RGBAPuntMethod cases. Fixes oss-fuzz 12195 +"graphicsmagick/coder_PTIF_fuzzer: Use-of-uninitialized-value in +ExportGrayQuantumType". (Credit to OSS-Fuzz)</li> +<li>coders/miff.c (ReadMIFFImage): Improve pixel buffer calculations +to defend against overflow. Assure that zlib and bzlib decode the +expected number of bytes for a pixel row. Fixes oss-fuzz issue +12448 "graphicsmagick/coder_MIFF_fuzzer: +Use-of-uninitialized-value in RGBTransformPackets". (Credit to +OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-02-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/png.c (ReadMNGImage): Quit processing and report error +upon failure to insert MNG background layer. Fixes oss-fuzz 12738 +"graphicsmagick/enhance_fuzzer: Out-of-memory in +graphicsmagick_enhance_fuzzer". (Credit to OSS-Fuzz)</li> +</ul> +</blockquote> +<p>2019-02-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/dib.c (ReadDIBImage, WriteDIBImage): Improve buffer-size +calculations to guard against buffer overflows. The reader +version was not as complete as it should have been, whereas the +writer version did not guard against arithmetic overflow at all.</li> +<li>coders/bmp.c (ReadBMPImage, WriteBMPImage): Improve buffer-size +calculations to guard against buffer overflows. This is a +follow-on fix to the previous fix submitted for SourceForge issue +#582 "heap-buffer-overflow in ReadBMPImage of bmp.c" which is now +also identified as CVE-2018-20185.</li> +<li>www/Hg.rst: Updates to reflect current usage and availability.</li> +<li>www/authors.rst: Promote Troy Patteson to the active contributor +category.</li> +</ul> +</blockquote> +<p>2019-02-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/version.h.in: Rotate ChangeLog and update copyright +statements for the new year.</li> +</ul> +</blockquote> +<p>2019-01-30 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/webp.c (WriteWEBPImage): Patch by Przemysław Sobala to +support WebP 'use_sharp_yuv' option ("if needed, use sharp (and +slow) RGB->YUV conversion") via <cite>-define webp:use-sharp-yuv=true</cite>.</li> +</ul> +</blockquote> +<p>2019-01-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/pixel_cache.c (SetNexus): Merge IsNexusInCore() +implementation code into SetNexus() and add check for if +cache_info->pixels is null. Fixes SourceForge issue #588 "Bug in +IsNexusInCore()".</li> +<li>configure.ac (DcrawExtraOptions): Request TIFF output from dcraw +if build supports TIFF format in order to obtain more metadata. +This allows obtaining some metadata from standard TIFF tags +(e.g. camera make, model, and dcraw version), and any attached ICC +profile, but not specifically EXIF data since we don't support +extracting EXIF data from TIFF yet. Inspired by SourceForge issue +589 "Identify lack of data (no Exif) in RAW formats".</li> +</ul> +</blockquote> +</div> +</body> +</html> diff --git a/www/ChangeLog-2019.rst b/www/ChangeLog-2019.rst new file mode 100644 index 0000000..fd49808 --- /dev/null +++ b/www/ChangeLog-2019.rst @@ -0,0 +1,1377 @@ +2019-12-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/gradient.c (ReadGRADIENTImage): QueryColorDatabase() only + throws a warning so allow the warning to propagate to the user + rather than failing to report a useful message at all. + +2019-12-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/gradient.c (GradientImage): OpenMP portability requires + that loop variable be signed. + +2019-12-30 Fojtik Jaroslav <JaFojtik@seznam.cz> + + - magick/gradient.c: Visual studio does not compile file without + this fix. + +2019-12-30 Fojtik Jaroslav <JaFojtik@seznam.cz> + + - VisualMagick\configure\configure.cpp Add option for speed optimisation + to achieve better performance. + +2019-12-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/version.h.in: Bump copyright years. + + - magick/image.c (DisplayImages): Fix return status. Was + returning inverted return status. + + - coders/gradient.c (ReadGRADIENTImage): Support the + "gradient:direction" definition to produce produce additional + gradient vector directions corresponding to South, North, West, + East, NorthWest, NorthEast, SouthWest, and SouthEast. This + support is similar to a useful feature added in ImageMagick + 6.9.2.5 although there is no claim that the results are identical, + even if the resulting images appear to be visually + indistinguishable. + + - magick/gradient.c (GradientImage): Add support for using the + image 'gravity' attribute to produce additional gradient vector + directions corresponding to SouthGravity (the previously-existing + default), NorthGravity, WestGravity, EastGravity, + NorthWestGravity, NorthEastGravity, SouthWestGravity, and + SouthEastGravity. Gradient images are updated to be PseudoClass + (color-mapped), if possible. + +2019-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/gradient.c (GradientImage): Output PseudoClass images if + we can. + + - coders/pcx.c (WritePCXImage): Fix heap overflow in PCX writer + when bytes per line value overflows its 16-bit storage unit. + Fixes SourceForge bug #619 "heap-buffer-overflow in WritePCXImage" + reported by Suhwan Song. + + - magick/gradient.c (GradientImage): Gradient levels were still + not spot-on. Now they are. Unfortunately, this necessitated + re-generating reference test images based on gradient since the + gradient output has changed a little bit more than the test error + margins allow. + +2019-12-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawImage): Test gradient image resource limits + using the proper API. + + - magick/resource.c (ResourceInfinity): Fix definition of + ResourceInfinity. Due to parenthesis in the wrong place, the + defined value was -1 rather than the maximum range value. The + effect of this is that GetMagickResource() would return -1 rather + than the maximum range value for the return type as documented. + Regression was added on Saturday, March 09, 2019 in the 1.3.32 + release via changeset 15927:a5318823758c. + + - tests/rwfile.c (main): Allow Ghostscript supported formats to be + a bit lossy. + + - tests/rwblob.c (main): Allow Ghostscript supported formats to be + a bit lossy. + + - magick/gradient.c (GradientImage): Compute blending alpha with + double precision for more precision. + +2019-12-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - NEWS.txt: Updates in preparation for 1.3.34 release. + +2019-12-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - NEWS.txt: Update with changes since the last GM release. + + - coders/png.c (png\_read\_raw\_profile): Use size\_t type to store + profile length and 'nibbles'. Use safer way to test for profile + buffer overflow. + (ReadOnePNGImage): Use size\_t type to store 'ping\_rowbytes', + 'length', and 'row\_offset'. Check png\_pixels allocation for + arithemetic overflow when computing the required allocation size. + + - coders/tiff.c (WriteNewsProfile): Use size\_t type to store + profile length. + + - coders/pict.c (WritePICTImage): Avoid 'alloc-size-larger-than' + warning from GCC when allocating row\_bytes. + +2019-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - tiff/libtiff/tiffconf.h: Add standard/common libtiff 'SUPPORT' + options which are used in full-fledged Autoconf/Cmake libtiff + builds but were missing from the Visual C template file. In + particular, WebP is now supported and JBIG is somewhat supported. + + - VisualMagick/jbig/libjbig/LIBRARY.txt (EXCLUDE): Remove + tstcodec85.c from JBIG library build. + + - VisualMagick/configure/configure.cpp: Add JBIG library to + include path when building libraries. Add WebP as a dependency + when building libtiff. + +2019-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/nt\_base.h ("C"): Assume that float versions of functions + became available in Visual Studio 2008. + +2019-12-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/log.c (InitializeLogInfo): Using the compiled-in + defaults, always log to stderr by default, even under Microsoft + Windows. The logging output may then be diverted to + 'win32eventlog' as soon as a log.mgk file is loaded if that is + desired. This should not be much of a problem because loading a + log.mgk file is the first thing that the library attempts to do. + This change is made due to users and developers being baffled at + not seeing any log output due to the log output going to the (very + unfriendly) Windows application log. + + - webp: libwebp is updated to the 1.0.3 release. + +2019-12-15 Fojtik Jaroslav <JaFojtik@seznam.cz> + + - magick/nt\_base.c Fix user only installation of Ghostscript. + +2019-12-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - rungm.sh.in (DIRSEP): DIRSEP should always use Unix conventions for + Autotools-based builds. + + - magick/module.h ("C"): Eliminiate redundant and conflicting + ListModuleInfo() prototype. + + - coders/miff.c (ReadMIFFImage): Eliminate warnings in trace + statements. + + - coders/dib.c (DecodeImage): Eliminate warnings in trace + statements. + + - coders/bmp.c (DecodeImage): Eliminate warnings in trace + statements. + + - magick/studio.h (SupportMagickModules): Fix the preprocessor + logic controlling SupportMagickModules, which became broken for + GCC MinGW-based builds starting in the 1.3.29 release when a + "static" module loader was implemented. Due to an error in the + preprocessor logic, only the "modules" based build was working for + MinGW. Much thanks to Giovanni Remigi for making us aware of this + issue. + +2019-12-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pict.c (WritePICTImage): Throw a writer exception if the + PICT width limit is exceeded. Fixes SourceForge issue 617 + "heap-buffer-overflow in function EncodeImage of coders/pict.c". + +2019-12-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - jbig: jbigkit is updated to 2.1 release. + + - libxml: libxml2 is updated to 2.9.10 release. + + - bzlib: bzip is updated to 1.0.8 release. + + - zlib: zlib is updated to 1.2.11 release. + + - png: libpng is updated to 1.6.37 release. + +2019-12-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - lcms: lcms2 is updated to 2.9 release. + + - tiff: libtiff is updated to 4.1.0 release. + +2019-11-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawPatternPath): Don't leak memory if + fill\_pattern or stroke\_pattern of cloned draw\_info are not null. + Fixes oss-fuzz issue 18948 "graphicsmagick:coder\_MVG\_fuzzer: + Indirect-leak in CloneImage". + (PrimitiveInfoRealloc): Clear freshly-allocated PrimitiveInfo + memory. + +2019-11-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/attribute.c (GenerateEXIFAttribute): Fix oss-fuzz issue + 17986 "graphicsmagick:coder\_JPG\_fuzzer: Heap-buffer-overflow in + GenerateEXIFAttribute". This problem likely only happens in + 32-bit builds. + +2019-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (ReadMNGImage): Only magnify the image if the + requested magnification methods are supported. + +2019-11-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/compress.c (HuffmanDecodeImage): Fix signed overflow on + range check which leads to heap overflow in 32-bit + applications. Requires a relatively large file input compared with + typical fuzzer files (greater than a megabyte) to trigger. + Problem reported to the graphicsmagick-security mail address by + Justin Tripp on 2019-11-13. + (Ascii85Tuple): Fix thread safety issue by requiring caller to + pass in tuple buffer as an argument and having callers allocate + tuple buffer on the stack. + +2019-11-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/bit\_stream.c: Add restrict declarations to slightly + improve performance and decrease code size. + + - TclMagick/pkgIndex.tcl: Incorporate recommendations from third + problem noted in SourceForge issue #420 "TclMagick issues and + patch". This is supposed to help support using an uninstalled + GraphicsMagick and allow the installation path to contain a space. + + - wand/magick\_wand.c (MagickClearException): Destroy any existing + exception info before re-initializing the exception info or else + there will be a memory leak. + + - TclMagick/generic/libttkcommon.c (myMagickError): Clear + exception from the Wand after it has been reported. Addresses the + fourth problem noted by SourceForge issue #420 "TclMagick issues + and patch". However, MagickClearException() already clears an + exception in the Wand, so a new function is not needed. + + - TclMagick/unix/m4/tcl.m4: Change hard-coded INSTALL path to + point to config/install-sh. Re-generated/updated Autotools stuff + by executing the genconf.sh script. Addresses the first problem + noted by SourceForge issue #420 "TclMagick issues and patch". + +2019-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (SetNexus): Eliminate warning about + possibly uninitialized variable from primordial GCC 3.4.3. + + - magick/render.c (ConvertPrimitiveToPath): Eliminate warning that + IsClosedSubPath might be used uninitialized. + + - magick/common.h ("MAGICK\_FALLTHROUGH"): Added a + MAGICK\_FALLTHROUGH macro to support the GCC/Clang fallthrough + attribute when the time comes again that it would be useful. + +2019-10-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pcx.c (ReadPCXImage): Verify that pixel region is not + negative. Assure that opacity channel is initialized to + opaqueOpacity. Update DirectClass representation while + PseudoClass representation is updated. Improve read performance + with uncompressed PCX. + +2019-10-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/xpm.c (ReadXPMImage): Image properties are expected to + appear within the first 512 bytes of the XPM file header. fixes + oss-fuzz 18267 "graphicsmagick:coder\_PICON\_fuzzer: Timeout in + coder\_PICON\_fuzzer". + +2019-10-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - configure.ac: Fix tcmalloc configuration report. + +2019-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/wpg.c (ReadWPGImage): Implement subimage/subrange + support. + + - coders/mat.c (ReadMATImage, ReadMATImageV4): Implement + subimage/subrange support. Should resolve oss-fuzz 14999 + "graphicsmagick/coder\_MAT\_fuzzer: Out-of-memory in + graphicsmagick\_coder\_MAT\_fuzzer". + + - coders/tiff.c (TIFFMapBlob): Fix compile problem if + LOG\_TIFF\_BLOB\_IO is defined. + + - coders/wpg.c (ExtractPostscript): Improve performance. Avoid + temporary files if possible. Avoid additional memory allocations + if possible. Should address oss-fuzz issue 18173 + "graphicsmagick:enhance\_fuzzer: Timeout in enhance\_fuzzer" and + oss-fuzz issue 17714 "graphicsmagick:coder\_WPG\_fuzzer: Timeout in + coder\_WPG\_fuzzer". + +2019-10-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pnm.c (PNMInteger): Place a generous arbitrary limit on + the amount of PNM comment text to avoid denial of service + opportunity. Fixes oss-fuzz 18162 "Timeout · coder\_PNM\_fuzzer". + +2019-10-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/dps.c (ReadDPSImage): Fix memory leak when OpenBlob() + reports failure. Same as ImageMagick CVE CVE-2019-16709. + +2019-09-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/attribute.c (GenerateEXIFAttribute): Skip + unsupported/invalid format 0. Fixes oss-fuzz issue 17597 + "graphicsmagick:coder\_SFW\_fuzzer: Heap-buffer-overflow in + GenerateEXIFAttribute". + +2019-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - fuzzing/oss-fuzz-build.sh: Change by Alex Gaynor so that the + correct oss-fuzz fuzzing engine should be used. + +2019-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/static.c (OpenModule): Static module loader should use + upper-cased magick string when searching for a module alias. + Fixes SourceForge issue #613 "static module loader is still + case-sensitive". + +2019-09-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - configure.ac: Report status of zstd (FaceBook Zstandard) + compression in configuration summary. + +2019-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (TraceArcPath): Substitute a lineto command when + tracing arc is impossible. Fixes oss-fuzz 10765 + "graphicsmagick/coder\_MVG\_fuzzer: Divide-by-zero in TraceArcPath". + +2019-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (png\_read\_raw\_profile): Fix validation of raw + profile length. Fixes oss-fuzz 16906 + "graphicsmagick:coder\_ICO\_fuzzer: Out-of-memory in + graphicsmagick\_coder\_ICO\_fuzzer". + + - coders/wpg.c (ReallocColormap): Avoid dereferencing a null + pointer if image->colormap is null. Fixes oss-fuzz 17004 + "graphicsmagick:coder\_WPG\_fuzzer: Null-dereference READ in + ReallocColormap". + +2019-09-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/memory.c (MagickRealloc): Add a note that the behavior of + this function is as described for BSD reallocf(3), which is now + appearing in Linux's GNU libc and elsewhere. + +2019-09-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - www/OpenMP.rst: Document the significant OpenMP speed-up which + may be obtained by using an alternate memory allocation library. + Currently 'tcmalloc', 'mtmalloc', and 'umem' are supported as + options. + + - www/INSTALL-unix.rst: Document new --with-tcmalloc option to + enable using Google gperftools tcmalloc library. + + - configure.ac: Add support for using Google gperftools tcmalloc + library via the --with-tcmalloc option. + + - scripts/rst2htmldeco.py: Port to Python 3 syntax and require at + least Python 2.6. + + - scripts/relpath.py: Port to Python 3 syntax and require + at least Python 2.6. + + - scripts/html\_fragments.py: Port to Python 3 syntax and require + at least Python 2.6. + + - scripts/format\_c\_api\_doc.py: Port to Python 3 syntax and require + at least Python 2.6. + +2019-08-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - doc/GraphicsMagick.imdoc: Document gm utility exit status codes. + +2019-08-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (PRIMITIVE\_INFO\_POINTS\_MAX): SIZE\_MAX apparently + rounds up by one when cast to a double on 64-bit systems. Due to + this, and in order to set more rational implementation limits, add + a PRIMITIVE\_INFO\_POINTS\_MAX definition which computes and + constrains the maximum number of PrimitiveInfo entries allowed. + +2019-08-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/attribute.c (GenerateEXIFAttribute): Check that we are + not being directed to read an IFD that we are already parsing and + quit in order to avoid a loop. Addresses oss-fuzz 15753 + "graphicsmagick/coder\_JPEG\_fuzzer: Timeout in + graphicsmagick\_coder\_JPEG\_fuzzer" and 16068 + "graphicsmagick/coder\_SFW\_fuzzer: Timeout in + graphicsmagick\_coder\_SFW\_fuzzer". + + - tests/{constitute.c, drawtest.c, rwblob.c, rwfile.c}: Eliminate + irritating GCC 9 "\_\_builtin\_strncpy' output may be truncated" + warnings due to copying MaxTextExtent-1 characters. Instead + request copying all of the characters and also assure that string + is still null terminated. + + - doc/environment.imdoc: Update documentation pertaining to HOME + and MAGICK\_DEBUG environment variables. + +2019-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/log.c (DestroyLogInfo): Only output text to terminate an + XML format log file if XML format is active. + +2019-08-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (ExtractTokensBetweenPushPop): Previous fix for + non-terminal loop was broken by a last-minute untested edit. + Finally addresses oss-fuzz 15318 "graphicsmagick/coder\_MVG\_fuzzer: + Timeout in graphicsmagick\_coder\_MVG\_fuzzer". + +2019-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - fuzzing/utils.cc (MemoryResource): Lessen the memory limit used + for oss-fuzz testing in order to provide more headroom and margin + for error. + + - magick/render.c (TraceBezier): Detect arithmetic overflow and + return errors via normal error path rather than exiting. Fixes + oss-fuzz 16450 "graphicsmagick:coder\_MVG\_fuzzer: Unexpected-exit + in DefaultFatalErrorHandler". + (PrimitiveInfoRealloc): Implement more paranoid code related to + primitive allocation. + +2019-08-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawStrokePolygon): Handle case where + TraceStrokePolygon() returns NULL. Addresses oss-fuzz 15516 + "graphicsmagick/coder\_MVG\_fuzzer: ASSERT: primitive\_info != + (PrimitiveInfo \*) NULL". + (DrawDashPolygon): Handle case where DrawStrokePolygon() returns + MagickFail. Also needed to address oss-fuzz 15516, since otherwise + test-cases run for a very long time. + (ExtractTokensBetweenPushPop): Fix non-terminal parsing loop. + Addresses oss-fuzz 15318 "graphicsmagick/coder\_MVG\_fuzzer: Timeout + in graphicsmagick\_coder\_MVG\_fuzzer". + +2019-08-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/memory.h (MagickMallocAlignedArray): Add function + attributes for added value and to quench GCC 9 warning with + special build options enabled. + + - magick/deprecate.h (AcquireMemory): Add more function attributes + to quench GCC 9 warning with special build options enabled. + + - magick/attribute.c (GenerateEXIFAttribute): Fix compilation + warning in 32-bit build. + + - coders/dpx.c (AttributeToString): Eliminate annoying warnings + from GCC 9, although the code was correct. + + - coders/msl.c (MSLStartElement): Fix defective opacity percentage + code revealed by GCC 9 warning. + +2019-08-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (ReadMNGImage): Skip coalescing layers if there is + only one layer. Fixes oss-fuzz 16274 + "graphicsmagick/coder\_MNG\_fuzzer: Unexpected-exit in + DefaultFatalErrorHandler". + +2019-08-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (ReadPNGImage): Post-processing to convert the + image type in the PNG reader based on a specified magick prefix + string is now disabled. This can (and should) be done after the + image has been returned. Fixes oss-fuzz 16386 + "graphicsmagick:coder\_PNG8\_fuzzer: Timeout in + graphicsmagick\_coder\_PNG8\_fuzzer". + +2019-07-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - NEWS.txt: Updates in preparation for 1.3.33 release. + +2019-07-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - NEWS.txt: Updated NEWS to reflect updates since last release. + +2019-07-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (WriteOnePNGImage): Fix saving to palette when + image has an alpha channel but no color is marked as transparent. + Patch submitted by Przemysław Sobala via SourceForge patch #61 + "WriteOnePNGImage(): Fix saving to palette when image has an alpha + channel but no color is marked as transparent". + + - doc/options.imdoc (characters): Fix -format documentation to + reflect that '%r' returns the image type. Patch submitted by + Przemysław Sobala via SourceForge patch #60 "Fix documentation + typo". + +2019-07-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/tempfile.c (AcquireTemporaryFileDescriptor): Fix + compilation under Cygwin. Patch by Marco Atzeri and submitted via + email to the graphicsmagick-help mailing list on Fri, 5 Jul 2019. + +2019-06-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/attribute.c (GenerateEXIFAttribute): Added range checks + and tracing. Fixes oss-fuzz 14998 + "graphicsmagick/coder\_JPEG\_fuzzer: Heap-buffer-overflow in + Read32s". This is a tiny read overflow. + + - coders/miff.c (ReadMIFFImage): Similar fix as to mpc.c + + - coders/mpc.c (ReadMPCImage): Fix faulty signed overflow logic + for profiles[i].length which still allowed overflow. Fixes + oss-fuzz issue 15190 "graphicsmagick/coder\_MPC\_fuzzer: + Out-of-memory in graphicsmagick\_coder\_MPC\_fuzzer". + + - doc/options.imdoc: Add notes about security hazards due to + commands which support a '@filename' syntax. + + - www/security.rst: Add notes about security hazards due to + commands which support a '@filename' syntax. + +2019-06-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawImage): Assure that 'token' is initialized. + Fixes oss-fuzz issue 14897 "graphicsmagick/coder\_MVG\_fuzzer: + Use-of-uninitialized-value in DrawImage". + + - magick/animate.c (MagickXAnimateImages): Fix memory leak of + scene\_info.pixels. + + - magick/display.c (MagickXDisplayImage): Fix heap overwrite of + windows->image.name and windows->image.icon\_name buffers. It + appears that the code assumed that CloneString() would always + allocated a string at least MaxTextExtent in size. I assume that + this issue has existed for a very long time since CloneString() + was re-written many years ago. + + - coders/caption.c (ReadCAPTIONImage): The CAPTION reader did not + appear to work at all any more. Now it works again, but still not + very well. + + - magick/command.c: Re-implement '@' file inclusion support for + -comment, -draw, -format, and -label which was removed for the + 1.3.32 release. Note that arguments from untrusted sources will + still need to be sanitized to detect attempts to subvert this + feature to access file data, but this feature has always been + supported by GraphicsMagick and it originated early in the + development of ImageMagick. + +2019-06-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/utility.c (MagickStrlCat, MagickStrlCpy): Add debug + checks enabled by MAGICK\_STRL\_CHECK. + + - magick/montage.c (MontageImages): Fix wrong length argument to + strlcat() when building montage directory, which could allow heap + overwrite. + + - coders/png.c (RegisterPNGImage): Pass correct size value to + strlcat(). Under Apple's OS X (and possibly other targets) + strlcat() writes bytes beyond what it needs to (but within the + range it is allowed to) causing a crash due to the wrong limit + value. Fixes SourceForge issue #609 `gm identify foo.png` crashes + on macOS (v 1.3.32). + + - www/Changes.rst: Update ChangeLog links due to new year, and + 1.3.32 release. + +2019-06-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/bmp.c (WriteBMPImage): Detect arithmetic overflow of + image\_size. Add more tracing. Reduce compilation warnings. + (EncodeImage): Reduce compilation warnings. + (WriteBMPImage): Assure that chromaticity uses double-precision + for multiply before casting to unsigned integer. + + - coders/wpg.c (ReallocColormap): Reduce compilation warnings. + + - coders/braille.c (WriteBRAILLEImage): Reduce compilation + warnings. + + - coders/dib.c (WriteDIBImage): Detect arithmetic overflow of + image\_size. Reduce compilation warnings. + (EncodeImage): Reduce compilation warnings. + + - coders/locale.c (WriteLOCALEImage): Reduce compilation warnings. + +2019-06-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - Makefile.am (dist-zstd): Use the maximum possible compression + level (22) when creating a Zstd-compressed tarball to get close to + lzip/xz compression levels. + + - coders/tiff.c (ReadTIFFImage): Fix typo in initialization of + 'tile' pointer variable. + + - version.sh: Updates in preparation for 1.3.32 release. + +2019-06-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - Makefile.am (release): Add a release target to make it easier to + produce and sign the release files. Add a zstd-compressed output + tarball just because we can. + +2019-06-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawImage): Fix typo when initializing + number\_coordinates. Somehow GCC and clang let this typo slip by. + +2019-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/dib.c (ReadDIBImage): Preserve PseudoClass opaque + representation if ICO mask is opaque, otherwise return a + DirectClass image. + +2019-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawImage): Detect an error in TracePath() and + quit rather than forging on. + +2019-06-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawImage): Terminate drawing if + DrawCompositeMask() reports failure. Fixes oss-fuzz 12373 + "graphicsmagick/coder\_MVG\_fuzzer: Timeout in + graphicsmagick\_coder\_MVG\_fuzzer". + (TracePath): Terminate path parsing upon first parsing error. + +2019-06-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/txt.c (ReadTXTImage): Use real a new-line character as + line delimiter rather than '\n' string. + + - magick/annotate.c (AnnotateImage): No longer implicitly call + TranslateText() since this is not suitable for most use-cases and + causes additional performance impact. The API user can perform + such translations in advance on the text string using + TranslateText() if need be. No longer call StringToList() to + split strings into an array of strings since this can lead to + unexpected results, and a custom-splitter is more efficient. + +2019-06-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawImage): Only support '@filename' syntax to + read drawing primitive from a file if we are not already drawing. + + - magick/utility.c (TranslateTextEx): Remove support for reading + from a file using '@filename' syntax due to security concerns. + Problem was reported to us by "Battle Furry" via the + GraphicsMagick security mail alias on June 6, 2019. + +2019-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/utility.c (SetClientFilename): Reduce initialized data + some more. + +2019-06-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/nt\_base.c: Search for n019003l.pfb (the "Helvetica"-like + font) rather than fonts.dir since fonts.dir is not present in all + URW font collections. + + - NEWS.txt: Update news. + +2019-06-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/logo.c: Tidy logo image definitions, and logo image + output. + +2019-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/mat.c: Make more data const. + +2019-05-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/animate.c: Reduce initialized static allocations. + + - magick/display.c: Reduce initialized static allocations. + + - magick/widget.c (MagickSplitNDLTextToList): Add static + implementation function. + +2019-05-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/webp.c (RegisterWEBPImage): Use sprintf to format version + since snprintf is not available in old Visual Studio. + +2019-05-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/dcm.c: Make more data const. + + - www/INSTALL-unix.rst: Add documentation for how to install URW + fonts from various package management systems. + +2019-05-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - www/authors.rst: Add authorship attribution to Samuel Thibault + for contributing support for the Braille image format. + + - coders/braille.c: Add support for Braille image format by Samuel + Thibault. Patch submitted via SourceForge patch #59 "Add braille + image format support. + +2019-05-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/tempfile.c: Make more data const. + + - magick/signature.c: Make more data const. + + - magick/quantize.c: Make more data const. + + - magick/attribute.c: Make more data const. + + - coders/png.c: Make more data const. + + - coders/mpeg.c: Make more data const. + + - coders/wmf.c: Make more data const. + + - coders/tile.c: Make more data const. + +2019-05-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/enum\_strings.c: Make more data const. + +2019-05-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/magick.c: Make more data const. + + - magick/type.c (GetTypeInfoByFamily): Make more data const. + + - magick/unix\_port.c (MagickGetMMUPageSize): Decrease initialized + data. + + - magick/utility.c (GetPageGeometry): Make more data const. + + - coders/pdf.c (WritePDFImage): Allocate working buffer on stack + and pass as argument to EscapeParenthesis() to eliminate a thread + safety problem and also reduce BSS size. + + - coders/webp.c (RegisterWEBPImage): Fix compiler warning. + + - coders/jbig.c (RegisterJBIGImage): Make more data const. + + - coders/pict.c (DecodeImage): Allocate output buffer used by + ExpandBuffer() on the stack rather than as static data private to + ExpandBuffer(). Eliminates a thread safety problem and also + reduces BSS size. + + - coders/webp.c (RegisterWEBPImage): Reduce BSS size. + +2019-05-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/jp2.c: Make more data const. + + - coders/wmf.c: Make more data const. + + - coders/ps.c (WritePSImage): Make more data const. + + - coders/ps2.c (WritePS2Image): Make more data const. + +2019-05-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/static.c: Revert to previous 'name' storage. Callback + functions in structure block being properly const. + + - coders/xpm.c: Make more data const. + + - coders/pnm.c: Make more data const. + + - coders/palm.c: Make more data const. + + - coders/meta.c: Make more data const. + + - coders/dcraw.c: Make more data const. + + - magick/command.c: Fix compilation problem when HasX11 is not + defined. + +2019-05-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/command.c: Make more data const. + +2019-05-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/webp.c (RegisterWEBPImage): Make more data const. + + - coders/svg.c (RegisterSVGImage): Reduce BSS size. + + - coders/miff.c (RegisterMIFFImage): Fix version reporting. + + - coders/ttf.c (RegisterTTFImage): Fixed reporting of FreeType + version. + + - coders/tiff.c (RegisterTIFFImage): Reduce BSS size. + + - coders/sfw.c (ReadSFWImage): Make SFW static data completely + const. + + - coders/ps3.c: Make PS3 static data completely const. + + - coders/pict.c: Make PICT static data completely const. + + - magick/error.c (ThrowException, ThrowLoggedException): Handle + the case where some passed character strings refer to existing + exception character strings. Fixes SourceForge issue #603 + "heap-use-after-free in function ThrowLoggedException of + magick/error.c". + (CatchException): Restructure so there is one return point. + + - coders/miff.c (ImportRLEPixels): Fix heap overflow caused by a + typo in the code. Also fix undefined behavior caused by large + left shifts of an unsigned char. Fixes SourceForge issue #608 + "heap-buffer-overflow in ImportRLEPixels of coders/miff.c. + +2019-05-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/bmp.c (ReadBMPImage): Fix subrange/scene handling in + 'ping' mode so it is like the other formats. Only the first frame + was being enumerated while in 'ping' mode. + +2019-05-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - NEWS.txt: Update news. + + - magick/utility.c (ExpandFilenames): Only expand '@filename' to a + list of arguments read from 'filename' if the path '@filename' + does not exist. This fix is made based on an email posting to the + 'graphicsmagick-help' mailing list at SourceForge by "Test User" + on Tue, 7 May 2019. + +2019-05-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/colorspace.c: Reorder initialization of colorspace tables + for a possible performance improvement. + + - magick/fx.c (WaveImage): Use float for sin map. + + - configure.ac: Test for float versions of math functions. + + - magick/gem.c (GenerateDifferentialNoise): Use float versions of + math functions when available. + +2019-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - www/INSTALL-unix.rst: Expanded configure documentation for + --with-modules. Added specific configure documentation for + --with-umem and --with-mtmalloc, which may be useful on + Solaris-derived systems. + +2019-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/command.c (VersionCommand): Show OpenMP specification + version corresponding to version enumeration. + + - magick/locale.c (GetLocaleMessageFromTag): Eliminate clang + warning about comparison with a constant value. + + - magick/log.c (InitializeLogInfo): Initialize LogInfo log\_configured. + +2019-04-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/magic.c (struct): Ajust StaticMagic definition to be more + const-friendly. + + - magick/color\_lookup.c (struct): Adjust StaticColors definition + to be more const-friendly. + + - magick/attribute.c: Ajust tag\_table definition to be more + const-friendly. + + - magick/log.c: Allocate LogInfo from heap as we used to do. + + - magick/locale.c (GetLocaleMessageFromTag): Adaptations to locale + coder output changes. + + - coders/locale.c (WriteLOCALEImage): Adjust locale coder output + to be more const. + +2019-04-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/color\_lookup.c: Make built-in color tables fully const. + + - magick/animate.c: Use MagickXTextViewWidgetNDL() to display help + text. + + - magick/display.c: Use MagickXTextViewWidgetNDL() to display help + text. + + - magick/widget.c (MagickXTextViewWidgetNDL): New private function + to display multi-line null-delimited text in an X11 widget. + + - coders/xwd.c (ReadXWDImage): Added even more XWD header + validation logic. Addresses problems noted by email from Hongxu + Chen to the graphicsmagick-security mail alias on Fri, 19 Apr 2019 + and Sat, 20 Apr 2019 and entitled "Multiple crashes (FPE and + invalid read) when processing XWD files". + +2019-04-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/xwd.c (ReadXWDImage): Added even more XWD header + validation logic. Addresses problems noted by email from Hongxu + Chen to the graphicsmagick-security mail alias on Wed, 17 Apr 2019 + and entitled "Multiple crashes (FPE and invalid read) when + processing XWD files". Also addresses additional issues noted + that an attacker could request to allocate an arbitrary amount of + memory based on ncolors and the claimed header size. + +2019-04-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/xwd.c (ReadXWDImage): Add more XWD header validation + logic. Addresses problems noted by email from Hongxu Chen to the + graphicsmagick-security mail alias on Sun, 14 Apr 2019 and + entitled "Multiple crashes (FPE and invalid read) when processing + XWD files". + +2019-04-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pdb.c (WritePDBImage): Assure that input scanline is + cleared in order to cover up some decoder bug. May fix 14215 + "graphicsmagick/coder\_PDB\_fuzzer: Use-of-uninitialized-value in + WritePDBImage", which I have not been able to reproduce. + + - magick/render.c (DrawPrimitive): Check primitive point x/y + values for NaN. + (DrawImage): Fix oss-fuzz issue 14173 + "graphicsmagick/coder\_MVG\_fuzzer: Integer-overflow in DrawImage". + + - magick/pixel\_cache.c (SetNexus): Fix oss-fuzz issue 14208 + "graphicsmagick/coder\_MVG\_fuzzer: Integer-overflow in SetNexus". + +2019-04-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/display.c: Add even more const declarations. + + - coders/mat.c (WriteMATLABImage): Add completely missing error + handling. Fixes SourceForge issue #604 "heap-buffer-overflow in + function WriteMATLABImage of coders/mat.c". + +2019-04-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pdb.c (WritePDBImage): Fix SourceForge issue #605 + "heap-buffer-overflow in function WritePDBImage of coders/pdb.c". + + - magick/widget.c: Add many const declarations. + + - magick/display.c: Incorporate and eliminate display.h. Add many + const declarations. + + - magick/animate.c: Incorporate and eliminate animate.h. Add many + const declarations. + +2019-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/wmf.c (ReadWMFImage): Reject WMF files with an empty + bounding box. Fixes SourceForge issue #606 "Division by Zero in + coders/wmf.c". + +2019-04-07 Fojtik Jaroslav <JaFojtik@seznam.cz> + + - magick/nt\_base.c Fix a problem of finding ghostscript fonts. + Variable "font\_dir" was useless and thus removed. No need to copy + text multiple times. Use const char gs\_font\_dir[] instead of + pointer. + +2019-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/xwd.c (ReadXWDImage): Perform more header validations and + a file size validation in order to reject files with bogus + headers. + (WriteXWDImage): Fix SourceForge issue #599 + "heap\_buffer\_overflow\_WRITE in function WriteXWDImage of + coders/xwd.c". + +2019-04-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/svg.c (SVGStartElement): Fix stack buffer overflow while + parsing quoted font family value. Fixes SourceForge issue #600 + "stack-buffer-overflow in function SVGStartElement of + coders/svg.c". + + - coders/miff.c (ReadMIFFImage): Detect end of file while reading + RLE packets. Fixes SourceForge issue #598 "heap-buffer-overflow + in function ReadMIFFImage of coders/miff.c". + +2019-04-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/xwd.c (ReadXWDImage): Fix heap buffer overflow while + reading DirectClass XWD file. Fixes SourceForge issue #597 + "heap-buffer-overflow in function ReadXWDImage of coders/xwd.c". + +2019-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (ReadMNGImage): Fix small buffer overflow (one + PixelPacket) of image colormap. Fixes SourceForge issue #596 + "heap-buffer-overflow in function CloneImage of magick/image.c". + + - magick/colormap.c (ReallocateImageColormap): New function to + reallocate an image colormap. + + - coders/logo.c: Make more static data const. + + - magick/module\_aliases.h: Make more static data const. + + - magick/static.c: Make more static data const. + +2019-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/log.c (LogMagickEventList): Log elapsed time with + microsecond precision. + +2019-03-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/mpc.c (ReadMPCImage): Deal with a profile length of zero, + or an irrationally large profile length. Fixes SourceForge issue + #601 "memory leak in function ReadMPCImage of coders/mpc.c ". + + - magick/xwindow.c (MagickXGetWindowInfo): Deal with the unlikely + case that the memory allocation for window->segment\_info + fails. Fixes SourceForge #595 "use allocate memory before null + check" as pertains to magick/xwindow.c. + + - magick/segment.c (Classify): Add check for memory allocation + failure when allocating cluster array. Fixes SourceForge #595 "use + allocate memory before null check" as pertains to + magick/segment.c. + + - coders/pdb.c (ReadPDBImage): Fix use of allocated memory before + null check. Fixes SourceForge #595 "use allocate memory before + null check" as pertains to coders/pdb.c. + +2019-03-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (AllocateThreadViewSet): Simplify the image + view model by adding NexusInfo to the View structure (rather than + referencing it via a pointer) to lessen the number of required + per-thread allocations and to improve locality of reference. + +2019-03-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/wpg.c (WPG1\_Palette): Change to a static declaration. + + - coders/dcm.c: dicom\_info array is now fully in the data segment. + +2019-03-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - configure.ac: Add support for using the Solaris mtmalloc + library. This is primarily for testing or as an alternative to + Solaris umem. + Stop using posix\_memalign() until it is uniformly more mature and + reliably quick. + +2019-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (SetNexus): Smallest staging-area + allocation is cache line size so declare it as such. + + - magick/fx.c: Functions in the fx module which return a new Image + should return a null Image if an exception was thrown. Also, + assure that user has an opportunity to see the exception which was + thrown. + + - magick/error.c (ThrowLoggedException): Throwing an exception is + now thread-safe. + + - magick/pixel\_cache-private.h: Moved pixel cache private + definitions to private header. + +2019-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (SetNexus): Pass x, y, columns, and rows + rather than a pointer to RectangleInfo. This should be easier to + inline on modern CPUs. + +2019-03-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (SetNexus): Cache resource limits in + CacheInfo rather than repeatedly calling into the resource code in + order to lessen the overhead of performing resource limit checks + on the pixel cache views. + + - magick/resource.c (AcquireMagickResource): Use a lock for each + resource in order to lessen contention. Return a maximum 64-bit + integer value if the resource has not been limited. Previously + returned -1 in this case but this was not documented. + +2019-03-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/import.c (ImportViewPixelArea): If range between max and + min is less than MagickEpsilon, produce a black image rather than + throwing an exception. + + - coders/mat.c (ReadMATImage): Fix memory leak on unexpected end + of file. Fixes oss-fuzz 13556 "graphicsmagick/coder\_MAT\_fuzzer: + Direct-leak in ReadMATImage". (Credit to OSS-Fuzz) + +2019-03-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/mat.c (ReadMATImage): Quit if image scanlines are not + fully populated due to exception. Fixes oss-fuzz 13530 + "graphicsmagick/coder\_MAT\_fuzzer: Use-of-uninitialized-value in + InsertComplexFloatRow". (Credit to OSS-Fuzz) + +2019-03-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/txt.c (ReadTXTImage): Don't start new line if x\_max < + x\_min. Avoids calling SetImagePixels() with a width of zero. + Related to oss-fuzz 13521 "graphicsmagick/coder\_TEXT\_fuzzer: + Floating-point-exception in SetNexus". (Credit to OSS-Fuzz) + + - magick/pixel\_cache.c (SetNexus): Report error for empty region + rather than crashing due to divide by zero exception. This is a + new bug due to yesterday's changes. Fixes oss-fuzz 13521 + "graphicsmagick/coder\_TEXT\_fuzzer: Floating-point-exception in + SetNexus". (Credit to OSS-Fuzz) + +2019-03-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - design/pixel-cache.dot: Update design dot diagram to remove + IsNexusInCore and add CompositeCacheNexus. + + - magick/pixel\_cache.c (SetNexus): Apply resource limits to pixel + nexus allocations using the same limits (total pixels, width, + height, memory) as applied to the whole image since some requests + are directly influenced by the input file. Add yet more tests for + arithmetic overflow. Whole source module is re-arranged so that + static functions are in order of dependency so that forward + prototype declarations are no longer needed. Fixes oss-fuzz 13210 + "graphicsmagick/coder\_MVG\_fuzzer: Integer-overflow in + SetNexus". (Credit to OSS-Fuzz) + +2019-03-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (OpenCache): Use unsigned 64-bit value to + store CacheInfo offset and length as well as for the total pixels + calculation. Add some more arithmetic overflow detections. + + - coders/topol.c (ReadTOPOLImage): Report a corrupt image + exception "Unexpected end-of-file" if reader encounters end of + file while reading header rows. Addresses oss-fuzz 7981 + "graphicsmagick/coder\_TOPOL\_fuzzer: Use-of-uninitialized-value in + InsertRow". (Credit to OSS-Fuzz) + + - coders/mat.c (ReadMATImage): Report a corrupt image exception + "Unexpected end-of-file" if reader encounters end of file while + reading scanlines. Also added some helpful traces. Hopefully + addresses oss-fuzz 13445 "graphicsmagick/coder\_MAT\_fuzzer: + Use-of-uninitialized-value in IsGrayImage". (Credit to OSS-Fuzz) + +2019-02-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/image.h ("C"): Include as "magick/image-private.h" as the + other headers are. + ("C"): Include "magick/image-private.h" inside the protective + MAGICK\_IMPLEMENTATION guard, as it should have been. This error + broke the oss-fuzz build. + +2019-02-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/image-private.h (\_ImageExtra): Put ImageExtra definition + in a private header file so that its definition may be accessed + directly by library internals. Add some accessor macros to + provide access and update code to use them. + + - coders/wpg.c (ReallocColormap): Make sure that there is not a + heap overwrite if the number of colors has been reduced. Thanks + to Jaroslav Fojtik for giving me a heads up about this. + +2019-02-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/monitor.c (MagickMonitorActive): Add new private function + to test if a progress monitor is active. Update all progress + monitor code in loops to use this information, while also updating + code to hopefully address concerns expressed by Hongxu Chen about + data races on the graphicsmagick-bugs mailing list starting on + February 6, 2019. + +2019-02-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/mpc.c (ReadMPCImage): Tally directory length to avoid + death by strlen(). + + - coders/miff.c (ReadMIFFImage): Tally directory length to avoid + death by strlen(). Fixes oss-fuzz 13190 + "graphicsmagick/coder\_MIFF\_fuzzer: Timeout in + graphicsmagick\_coder\_MIFF\_fuzzer". (Credit to OSS-Fuzz) + +2019-02-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/svg.c (ReadSVGImage): Don't call xmlCleanupParser() + in module code since this may cause other libxml users to fail. + + - coders/msl.c (ProcessMSLScript): Don't call xmlCleanupParser() + in module code since this may cause other libxml users to fail. + + - magick/render.c (DrawDashPolygon): (DrawDashPolygon): Don't read + beyond end of dash pattern array. This is a second instance of + issue identified by SourceForge issue #591. Fixes oss-fuzz 13160 + "graphicsmagick/coder\_MVG\_fuzzer: Heap-buffer-overflow in + DrawDashPolygon". The earlier attempt to fix this problem today + broke dash patterns entirely. (Credit to OSS-Fuzz) + + - magick/annotate.c (RenderFreetype): Eliminate memory leak of + GlyphInfo.image (type FT\_Glyph) while rendering some FreeType + fonts such as the one we use now in the Magick++ test suite. + +2019-02-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/render.c (DrawDashPolygon): Avoid reading one beyond + length of dash pattern array, which is terminated by value 0.0. + Fixes SourceForge issue #591 "Heap buffer overflow in + DrawDashPolygon when parsing SVG images". + (DrawPrimitive): Add arithmetic overflow checks when converting + computed coordinates from 'double' to 'long'. + (DrawImage): Don't destroy draw\_info in graphic\_context when + draw\_info has not been allocated yet. Problem reported via email + by Sami Supperi on Thu, 14 Feb 2019. + + - coders/jpeg.c (ReadJPEGImage): JPEG files are observed to + provide compression ratios as high as 2500 so allow for that. + Also, the test for "Unreasonable dimensions" delivered yesterday + was flawed since magick\_rows and magick\_columns are only set if a + desired image size was provided. Fixes SourceForge issue 592 + "Non-malicious JPEG file fails with "Unreasonable dimensions"". + + - coders/tiff.c (ReadTIFFImage): Only disassociate alpha channel + for images where photometic is PHOTOMETRIC\_RGB. Fixes oss-fuzz + 13115 "graphicsmagick/coder\_PTIF\_fuzzer: + Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to + OSS-Fuzz) + +2019-02-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/jpeg.c (ReadJPEGImage): Base test for "Unreasonable + dimensions" on original JPEG dimensions and not the scaled + dimensions. Fixes SourceForge issue 593 "gm convert: Insufficient + image data in file when hinting input image". + +2019-02-13 Troy Patteson <troyp@ieee.org> + + - PerlMagick/Magick.xs (Mogrify): Add decorate argument to Annotate. + + - PerlMagick/Magick.xs (Mogrify): Remove reference to undefined + Annotate argument. + +2019-02-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/tiff.c (ReadTIFFImage): For planar TIFF, make sure that + pixels are initialized in case some planes are missing. Fixes + oss-fuzz 13046 "graphicsmagick/coder\_PTIF\_fuzzer: + Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to + OSS-Fuzz) + +2019-02-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pdf.c (WritePDFImage): Make sure to free 'xref' before + returning. Similar to ImageMagick CVE-2019-7397 "In ImageMagick + before 7.0.8-25, several memory leaks exist in WritePDFImage in + coders/pdf.c.". Thanks to Petr Gajdos for bringing this issue to + our attention. + +2019-02-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/wpg.c (ReadWPGImage): Use a different way to reallocate + the colormap which preserves existing content, but also updates + image->colors and assures that added palette entries are + initialized. + + - coders/png.c (ReadMNGImage): Bound maximum loop iterations by + subrange as a primitive means of limiting resource consumption. + This should finally resolve oss-fuzz 12738 + "graphicsmagick/enhance\_fuzzer: Out-of-memory in + graphicsmagick\_enhance\_fuzzer". (Credit to OSS-Fuzz) + + - coders/tiff.c (ReadTIFFImage): Assure that opacity channel is + initialized in the RGBAStrippedMethod case. Convert + 'CorruptImageError' encountered while testing for more frames to + 'CorruptImageWarning' so we return the frames already read. + Second try at fixing oss-fuzz 11896 + "graphicsmagick/coder\_PTIF\_fuzzer: Use-of-uninitialized-value in + VerticalFilter". + + - coders/dpx.c (AttributeToString): Eliminate clang + "-Wstring-plus-int" warning observed in oss-fuzz build. + + - coders/cineon.c (AttributeToString): Eliminate clang + "-Wstring-plus-int" warning observed in oss-fuzz build. + +2019-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/pict.c (DecodeImage): Avoide a one-byte over-read of + pixels heap allocation. The cause of the over-read is not yet + understood. Fixes oss-fuzz 12019 + "graphicsmagick/coder\_PICT\_fuzzer: Heap-buffer-overflow in + ExpandBuffer". (Credit to OSS-Fuzz) + + - coders/wpg.c (ReadWPGImage): Assure that all colormap entries + are initialized. Fixes oss-fuzz 12614 + "graphicsmagick/enhance\_fuzzer: Use-of-uninitialized-value in + EnhanceImage". (Credit to OSS-Fuzz) + + - coders/tiff.c (ReadTIFFImage): Make sure that image is in + DirectClass mode and ignore any claimed colormap when the image is + read using the RGBAStrippedMethod, RGBATiledMethod, or + RGBAPuntMethod cases. Fixes oss-fuzz 12195 + "graphicsmagick/coder\_PTIF\_fuzzer: Use-of-uninitialized-value in + ExportGrayQuantumType". (Credit to OSS-Fuzz) + + - coders/miff.c (ReadMIFFImage): Improve pixel buffer calculations + to defend against overflow. Assure that zlib and bzlib decode the + expected number of bytes for a pixel row. Fixes oss-fuzz issue + 12448 "graphicsmagick/coder\_MIFF\_fuzzer: + Use-of-uninitialized-value in RGBTransformPackets". (Credit to + OSS-Fuzz) + +2019-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/png.c (ReadMNGImage): Quit processing and report error + upon failure to insert MNG background layer. Fixes oss-fuzz 12738 + "graphicsmagick/enhance\_fuzzer: Out-of-memory in + graphicsmagick\_enhance\_fuzzer". (Credit to OSS-Fuzz) + +2019-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/dib.c (ReadDIBImage, WriteDIBImage): Improve buffer-size + calculations to guard against buffer overflows. The reader + version was not as complete as it should have been, whereas the + writer version did not guard against arithmetic overflow at all. + + - coders/bmp.c (ReadBMPImage, WriteBMPImage): Improve buffer-size + calculations to guard against buffer overflows. This is a + follow-on fix to the previous fix submitted for SourceForge issue + #582 "heap-buffer-overflow in ReadBMPImage of bmp.c" which is now + also identified as CVE-2018-20185. + + - www/Hg.rst: Updates to reflect current usage and availability. + + - www/authors.rst: Promote Troy Patteson to the active contributor + category. + +2019-02-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/version.h.in: Rotate ChangeLog and update copyright + statements for the new year. + +2019-01-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - coders/webp.c (WriteWEBPImage): Patch by Przemysław Sobala to + support WebP 'use\_sharp\_yuv' option ("if needed, use sharp (and + slow) RGB->YUV conversion") via `-define webp:use-sharp-yuv=true`. + +2019-01-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + + - magick/pixel\_cache.c (SetNexus): Merge IsNexusInCore() + implementation code into SetNexus() and add check for if + cache\_info->pixels is null. Fixes SourceForge issue #588 "Bug in + IsNexusInCore()". + + - configure.ac (DcrawExtraOptions): Request TIFF output from dcraw + if build supports TIFF format in order to obtain more metadata. + This allows obtaining some metadata from standard TIFF tags + (e.g. camera make, model, and dcraw version), and any attached ICC + profile, but not specifically EXIF data since we don't support + extracting EXIF data from TIFF yet. Inspired by SourceForge issue + 589 "Identify lack of data (no Exif) in RAW formats". diff --git a/www/Changelog.html b/www/Changelog.html index 4b7f311..665cfef 100644 --- a/www/Changelog.html +++ b/www/Changelog.html @@ -3,8 +3,8 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> -<title></title> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> +<title>Changelog.rst</title> <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> </head> <body> @@ -35,1382 +35,340 @@ <div class="document"> -<p>2019-12-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>NEWS.txt: Updates in preparation for 1.3.34 release.</li> +<li>version.sh: Updates in preparation for the 1.3.35 release. +Merge changes for 1.3.35 into GraphicsMagick-1_3 branch.</li> +<li>www/INSTALL-windows.rst: Update Windows installation and build +documentation.</li> </ul> </blockquote> -<p>2019-12-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>NEWS.txt: Update with changes since the last GM release.</li> -<li>coders/png.c (png_read_raw_profile): Use size_t type to store -profile length and 'nibbles'. Use safer way to test for profile -buffer overflow. -(ReadOnePNGImage): Use size_t type to store 'ping_rowbytes', -'length', and 'row_offset'. Check png_pixels allocation for -arithemetic overflow when computing the required allocation size.</li> -<li>coders/tiff.c (WriteNewsProfile): Use size_t type to store -profile length.</li> -<li>coders/pict.c (WritePICTImage): Avoid 'alloc-size-larger-than' -warning from GCC when allocating row_bytes.</li> -</ul> -</blockquote> -<p>2019-12-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>tiff/libtiff/tiffconf.h: Add standard/common libtiff 'SUPPORT' -options which are used in full-fledged Autoconf/Cmake libtiff -builds but were missing from the Visual C template file. In -particular, WebP is now supported and JBIG is somewhat supported.</li> -<li>VisualMagick/jbig/libjbig/LIBRARY.txt (EXCLUDE): Remove -tstcodec85.c from JBIG library build.</li> -<li>VisualMagick/configure/configure.cpp: Add JBIG library to -include path when building libraries. Add WebP as a dependency -when building libtiff.</li> -</ul> -</blockquote> -<p>2019-12-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/nt_base.h ("C"): Assume that float versions of functions -became available in Visual Studio 2008.</li> -</ul> -</blockquote> -<p>2019-12-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/log.c (InitializeLogInfo): Using the compiled-in -defaults, always log to stderr by default, even under Microsoft -Windows. The logging output may then be diverted to -'win32eventlog' as soon as a log.mgk file is loaded if that is -desired. This should not be much of a problem because loading a -log.mgk file is the first thing that the library attempts to do. -This change is made due to users and developers being baffled at -not seeing any log output due to the log output going to the (very -unfriendly) Windows application log.</li> -<li>webp: libwebp is updated to the 1.0.3 release.</li> -</ul> -</blockquote> -<p>2019-12-15 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/nt_base.c Fix user only installation of Ghostscript.</li> -</ul> -</blockquote> -<p>2019-12-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>rungm.sh.in (DIRSEP): DIRSEP should always use Unix conventions for -Autotools-based builds.</li> -<li>magick/module.h ("C"): Eliminiate redundant and conflicting -ListModuleInfo() prototype.</li> -<li>coders/miff.c (ReadMIFFImage): Eliminate warnings in trace -statements.</li> -<li>coders/dib.c (DecodeImage): Eliminate warnings in trace -statements.</li> -<li>coders/bmp.c (DecodeImage): Eliminate warnings in trace -statements.</li> -<li>magick/studio.h (SupportMagickModules): Fix the preprocessor -logic controlling SupportMagickModules, which became broken for -GCC MinGW-based builds starting in the 1.3.29 release when a -"static" module loader was implemented. Due to an error in the -preprocessor logic, only the "modules" based build was working for -MinGW. Much thanks to Giovanni Remigi for making us aware of this -issue.</li> -</ul> -</blockquote> -<p>2019-12-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pict.c (WritePICTImage): Throw a writer exception if the -PICT width limit is exceeded. Fixes SourceForge issue 617 -"heap-buffer-overflow in function EncodeImage of coders/pict.c".</li> -</ul> -</blockquote> -<p>2019-12-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>jbig: jbigkit is updated to 2.1 release.</li> -<li>libxml: libxml2 is updated to 2.9.10 release.</li> -<li>bzlib: bzip is updated to 1.0.8 release.</li> -<li>zlib: zlib is updated to 1.2.11 release.</li> -<li>png: libpng is updated to 1.6.37 release.</li> -</ul> -</blockquote> -<p>2019-12-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>lcms: lcms2 is updated to 2.9 release.</li> -<li>tiff: libtiff is updated to 4.1.0 release.</li> -</ul> -</blockquote> -<p>2019-11-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (DrawPatternPath): Don't leak memory if -fill_pattern or stroke_pattern of cloned draw_info are not null. -Fixes oss-fuzz issue 18948 "graphicsmagick:coder_MVG_fuzzer: -Indirect-leak in CloneImage". -(PrimitiveInfoRealloc): Clear freshly-allocated PrimitiveInfo -memory.</li> -</ul> -</blockquote> -<p>2019-11-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/attribute.c (GenerateEXIFAttribute): Fix oss-fuzz issue -17986 "graphicsmagick:coder_JPG_fuzzer: Heap-buffer-overflow in -GenerateEXIFAttribute". This problem likely only happens in -32-bit builds.</li> -</ul> -</blockquote> -<p>2019-11-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (ReadMNGImage): Only magnify the image if the -requested magnification methods are supported.</li> -</ul> -</blockquote> -<p>2019-11-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/compress.c (HuffmanDecodeImage): Fix signed overflow on -range check which leads to heap overflow in 32-bit -applications. Requires a relatively large file input compared with -typical fuzzer files (greater than a megabyte) to trigger. -Problem reported to the graphicsmagick-security mail address by -Justin Tripp on 2019-11-13. -(Ascii85Tuple): Fix thread safety issue by requiring caller to -pass in tuple buffer as an argument and having callers allocate -tuple buffer on the stack.</li> -</ul> -</blockquote> -<p>2019-11-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/bit_stream.c: Add restrict declarations to slightly -improve performance and decrease code size.</li> -<li>TclMagick/pkgIndex.tcl: Incorporate recommendations from third -problem noted in SourceForge issue #420 "TclMagick issues and -patch". This is supposed to help support using an uninstalled -GraphicsMagick and allow the installation path to contain a space.</li> -<li>wand/magick_wand.c (MagickClearException): Destroy any existing -exception info before re-initializing the exception info or else -there will be a memory leak.</li> -<li>TclMagick/generic/libttkcommon.c (myMagickError): Clear -exception from the Wand after it has been reported. Addresses the -fourth problem noted by SourceForge issue #420 "TclMagick issues -and patch". However, MagickClearException() already clears an -exception in the Wand, so a new function is not needed.</li> -<li>TclMagick/unix/m4/tcl.m4: Change hard-coded INSTALL path to -point to config/install-sh. Re-generated/updated Autotools stuff -by executing the genconf.sh script. Addresses the first problem -noted by SourceForge issue #420 "TclMagick issues and patch".</li> -</ul> -</blockquote> -<p>2019-11-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/pixel_cache.c (SetNexus): Eliminate warning about -possibly uninitialized variable from primordial GCC 3.4.3.</li> -<li>magick/render.c (ConvertPrimitiveToPath): Eliminate warning that -IsClosedSubPath might be used uninitialized.</li> -<li>magick/common.h ("MAGICK_FALLTHROUGH"): Added a -MAGICK_FALLTHROUGH macro to support the GCC/Clang fallthrough -attribute when the time comes again that it would be useful.</li> -</ul> -</blockquote> -<p>2019-10-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pcx.c (ReadPCXImage): Verify that pixel region is not -negative. Assure that opacity channel is initialized to -opaqueOpacity. Update DirectClass representation while -PseudoClass representation is updated. Improve read performance -with uncompressed PCX.</li> -</ul> -</blockquote> -<p>2019-10-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/xpm.c (ReadXPMImage): Image properties are expected to -appear within the first 512 bytes of the XPM file header. fixes -oss-fuzz 18267 "graphicsmagick:coder_PICON_fuzzer: Timeout in -coder_PICON_fuzzer".</li> -</ul> -</blockquote> -<p>2019-10-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>configure.ac: Fix tcmalloc configuration report.</li> -</ul> -</blockquote> -<p>2019-10-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/wpg.c (ReadWPGImage): Implement subimage/subrange -support.</li> -<li>coders/mat.c (ReadMATImage, ReadMATImageV4): Implement -subimage/subrange support. Should resolve oss-fuzz 14999 -"graphicsmagick/coder_MAT_fuzzer: Out-of-memory in -graphicsmagick_coder_MAT_fuzzer".</li> -<li>coders/tiff.c (TIFFMapBlob): Fix compile problem if -LOG_TIFF_BLOB_IO is defined.</li> -<li>coders/wpg.c (ExtractPostscript): Improve performance. Avoid -temporary files if possible. Avoid additional memory allocations -if possible. Should address oss-fuzz issue 18173 -"graphicsmagick:enhance_fuzzer: Timeout in enhance_fuzzer" and -oss-fuzz issue 17714 "graphicsmagick:coder_WPG_fuzzer: Timeout in -coder_WPG_fuzzer".</li> -</ul> -</blockquote> -<p>2019-10-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pnm.c (PNMInteger): Place a generous arbitrary limit on -the amount of PNM comment text to avoid denial of service -opportunity. Fixes oss-fuzz 18162 "Timeout · coder_PNM_fuzzer".</li> -</ul> -</blockquote> -<p>2019-10-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/dps.c (ReadDPSImage): Fix memory leak when OpenBlob() -reports failure. Same as ImageMagick CVE CVE-2019-16709.</li> -</ul> -</blockquote> -<p>2019-09-27 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/attribute.c (GenerateEXIFAttribute): Skip -unsupported/invalid format 0. Fixes oss-fuzz issue 17597 -"graphicsmagick:coder_SFW_fuzzer: Heap-buffer-overflow in -GenerateEXIFAttribute".</li> -</ul> -</blockquote> -<p>2019-09-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>fuzzing/oss-fuzz-build.sh: Change by Alex Gaynor so that the -correct oss-fuzz fuzzing engine should be used.</li> -</ul> -</blockquote> -<p>2019-09-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/static.c (OpenModule): Static module loader should use -upper-cased magick string when searching for a module alias. -Fixes SourceForge issue #613 "static module loader is still -case-sensitive".</li> -</ul> -</blockquote> -<p>2019-09-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>configure.ac: Report status of zstd (FaceBook Zstandard) -compression in configuration summary.</li> -</ul> -</blockquote> -<p>2019-09-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (TraceArcPath): Substitute a lineto command when -tracing arc is impossible. Fixes oss-fuzz 10765 -"graphicsmagick/coder_MVG_fuzzer: Divide-by-zero in TraceArcPath".</li> -</ul> -</blockquote> -<p>2019-09-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (png_read_raw_profile): Fix validation of raw -profile length. Fixes oss-fuzz 16906 -"graphicsmagick:coder_ICO_fuzzer: Out-of-memory in -graphicsmagick_coder_ICO_fuzzer".</li> -<li>coders/wpg.c (ReallocColormap): Avoid dereferencing a null -pointer if image->colormap is null. Fixes oss-fuzz 17004 -"graphicsmagick:coder_WPG_fuzzer: Null-dereference READ in -ReallocColormap".</li> -</ul> -</blockquote> -<p>2019-09-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/memory.c (MagickRealloc): Add a note that the behavior of -this function is as described for BSD reallocf(3), which is now -appearing in Linux's GNU libc and elsewhere.</li> -</ul> -</blockquote> -<p>2019-09-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>www/OpenMP.rst: Document the significant OpenMP speed-up which -may be obtained by using an alternate memory allocation library. -Currently 'tcmalloc', 'mtmalloc', and 'umem' are supported as +<li>NEWS.txt: Update with News since previous release.</li> +<li>magick/magick.c (InitializeMagickSignalHandlers): This private +implementation function is now a static function as it should have +been. +(InitializeMagickEx): New function which may be used in place of +InitializeMagick() to initialize GraphicsMagick. This +initialization function returns an error status value, may update +a passed ExceptionInfo structure with error information, and +provides an options parameter which supports simple bit-flags to +tailor initialization. The signal handler registrations are +skipped if the MAGICK_OPT_NO_SIGNAL_HANDER flag is set in the options.</li> -<li>www/INSTALL-unix.rst: Document new --with-tcmalloc option to -enable using Google gperftools tcmalloc library.</li> -<li>configure.ac: Add support for using Google gperftools tcmalloc -library via the --with-tcmalloc option.</li> -<li>scripts/rst2htmldeco.py: Port to Python 3 syntax and require at -least Python 2.6.</li> -<li>scripts/relpath.py: Port to Python 3 syntax and require -at least Python 2.6.</li> -<li>scripts/html_fragments.py: Port to Python 3 syntax and require -at least Python 2.6.</li> -<li>scripts/format_c_api_doc.py: Port to Python 3 syntax and require -at least Python 2.6.</li> -</ul> -</blockquote> -<p>2019-08-27 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>doc/GraphicsMagick.imdoc: Document gm utility exit status codes.</li> -</ul> -</blockquote> -<p>2019-08-25 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (PRIMITIVE_INFO_POINTS_MAX): SIZE_MAX apparently -rounds up by one when cast to a double on 64-bit systems. Due to -this, and in order to set more rational implementation limits, add -a PRIMITIVE_INFO_POINTS_MAX definition which computes and -constrains the maximum number of PrimitiveInfo entries allowed.</li> -</ul> -</blockquote> -<p>2019-08-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/attribute.c (GenerateEXIFAttribute): Check that we are -not being directed to read an IFD that we are already parsing and -quit in order to avoid a loop. Addresses oss-fuzz 15753 -"graphicsmagick/coder_JPEG_fuzzer: Timeout in -graphicsmagick_coder_JPEG_fuzzer" and 16068 -"graphicsmagick/coder_SFW_fuzzer: Timeout in -graphicsmagick_coder_SFW_fuzzer".</li> -<li>tests/{constitute.c, drawtest.c, rwblob.c, rwfile.c}: Eliminate -irritating GCC 9 "__builtin_strncpy' output may be truncated" -warnings due to copying MaxTextExtent-1 characters. Instead -request copying all of the characters and also assure that string -is still null terminated.</li> -<li>doc/environment.imdoc: Update documentation pertaining to HOME -and MAGICK_DEBUG environment variables.</li> -</ul> -</blockquote> -<p>2019-08-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/log.c (DestroyLogInfo): Only output text to terminate an -XML format log file if XML format is active.</li> -</ul> -</blockquote> -<p>2019-08-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (ExtractTokensBetweenPushPop): Previous fix for -non-terminal loop was broken by a last-minute untested edit. -Finally addresses oss-fuzz 15318 "graphicsmagick/coder_MVG_fuzzer: -Timeout in graphicsmagick_coder_MVG_fuzzer".</li> -</ul> -</blockquote> -<p>2019-08-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>fuzzing/utils.cc (MemoryResource): Lessen the memory limit used -for oss-fuzz testing in order to provide more headroom and margin -for error.</li> -<li>magick/render.c (TraceBezier): Detect arithmetic overflow and -return errors via normal error path rather than exiting. Fixes -oss-fuzz 16450 "graphicsmagick:coder_MVG_fuzzer: Unexpected-exit -in DefaultFatalErrorHandler". -(PrimitiveInfoRealloc): Implement more paranoid code related to -primitive allocation.</li> -</ul> -</blockquote> -<p>2019-08-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (DrawStrokePolygon): Handle case where -TraceStrokePolygon() returns NULL. Addresses oss-fuzz 15516 -"graphicsmagick/coder_MVG_fuzzer: ASSERT: primitive_info != -(PrimitiveInfo *) NULL". -(DrawDashPolygon): Handle case where DrawStrokePolygon() returns -MagickFail. Also needed to address oss-fuzz 15516, since otherwise -test-cases run for a very long time. -(ExtractTokensBetweenPushPop): Fix non-terminal parsing loop. -Addresses oss-fuzz 15318 "graphicsmagick/coder_MVG_fuzzer: Timeout -in graphicsmagick_coder_MVG_fuzzer".</li> -</ul> -</blockquote> -<p>2019-08-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/memory.h (MagickMallocAlignedArray): Add function -attributes for added value and to quench GCC 9 warning with -special build options enabled.</li> -<li>magick/deprecate.h (AcquireMemory): Add more function attributes -to quench GCC 9 warning with special build options enabled.</li> -<li>magick/attribute.c (GenerateEXIFAttribute): Fix compilation -warning in 32-bit build.</li> -<li>coders/dpx.c (AttributeToString): Eliminate annoying warnings -from GCC 9, although the code was correct.</li> -<li>coders/msl.c (MSLStartElement): Fix defective opacity percentage -code revealed by GCC 9 warning.</li> -</ul> -</blockquote> -<p>2019-08-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (ReadMNGImage): Skip coalescing layers if there is -only one layer. Fixes oss-fuzz 16274 -"graphicsmagick/coder_MNG_fuzzer: Unexpected-exit in -DefaultFatalErrorHandler".</li> -</ul> -</blockquote> -<p>2019-08-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (ReadPNGImage): Post-processing to convert the -image type in the PNG reader based on a specified magick prefix -string is now disabled. This can (and should) be done after the -image has been returned. Fixes oss-fuzz 16386 -"graphicsmagick:coder_PNG8_fuzzer: Timeout in -graphicsmagick_coder_PNG8_fuzzer".</li> -</ul> -</blockquote> -<p>2019-07-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>NEWS.txt: Updates in preparation for 1.3.33 release.</li> -</ul> -</blockquote> -<p>2019-07-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>NEWS.txt: Updated NEWS to reflect updates since last release.</li> -</ul> -</blockquote> -<p>2019-07-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (WriteOnePNGImage): Fix saving to palette when -image has an alpha channel but no color is marked as transparent. -Patch submitted by Przemysław Sobala via SourceForge patch #61 -"WriteOnePNGImage(): Fix saving to palette when image has an alpha -channel but no color is marked as transparent".</li> -<li>doc/options.imdoc (characters): Fix -format documentation to -reflect that '%r' returns the image type. Patch submitted by -Przemysław Sobala via SourceForge patch #60 "Fix documentation -typo".</li> -</ul> -</blockquote> -<p>2019-07-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/tempfile.c (AcquireTemporaryFileDescriptor): Fix -compilation under Cygwin. Patch by Marco Atzeri and submitted via -email to the graphicsmagick-help mailing list on Fri, 5 Jul 2019.</li> -</ul> -</blockquote> -<p>2019-06-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/attribute.c (GenerateEXIFAttribute): Added range checks -and tracing. Fixes oss-fuzz 14998 -"graphicsmagick/coder_JPEG_fuzzer: Heap-buffer-overflow in -Read32s". This is a tiny read overflow.</li> -<li>coders/miff.c (ReadMIFFImage): Similar fix as to mpc.c</li> -<li>coders/mpc.c (ReadMPCImage): Fix faulty signed overflow logic -for profiles[i].length which still allowed overflow. Fixes -oss-fuzz issue 15190 "graphicsmagick/coder_MPC_fuzzer: -Out-of-memory in graphicsmagick_coder_MPC_fuzzer".</li> -<li>doc/options.imdoc: Add notes about security hazards due to -commands which support a <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax.</li> -<li>www/security.rst: Add notes about security hazards due to -commands which support a <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax.</li> -</ul> -</blockquote> -<p>2019-06-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (DrawImage): Assure that 'token' is initialized. -Fixes oss-fuzz issue 14897 "graphicsmagick/coder_MVG_fuzzer: -Use-of-uninitialized-value in DrawImage".</li> -<li>magick/animate.c (MagickXAnimateImages): Fix memory leak of -scene_info.pixels.</li> -<li>magick/display.c (MagickXDisplayImage): Fix heap overwrite of -windows->image.name and windows->image.icon_name buffers. It -appears that the code assumed that CloneString() would always -allocated a string at least MaxTextExtent in size. I assume that -this issue has existed for a very long time since CloneString() -was re-written many years ago.</li> -<li>coders/caption.c (ReadCAPTIONImage): The CAPTION reader did not -appear to work at all any more. Now it works again, but still not -very well.</li> -<li>magick/command.c: Re-implement '@' file inclusion support for --comment, -draw, -format, and -label which was removed for the -1.3.32 release. Note that arguments from untrusted sources will -still need to be sanitized to detect attempts to subvert this -feature to access file data, but this feature has always been -supported by GraphicsMagick and it originated early in the -development of ImageMagick.</li> -</ul> -</blockquote> -<p>2019-06-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/utility.c (MagickStrlCat, MagickStrlCpy): Add debug -checks enabled by MAGICK_STRL_CHECK.</li> -<li>magick/montage.c (MontageImages): Fix wrong length argument to -strlcat() when building montage directory, which could allow heap -overwrite.</li> -<li>coders/png.c (RegisterPNGImage): Pass correct size value to -strlcat(). Under Apple's OS X (and possibly other targets) -strlcat() writes bytes beyond what it needs to (but within the -range it is allowed to) causing a crash due to the wrong limit -value. Fixes SourceForge issue #609 <cite>gm identify foo.png</cite> crashes -on macOS (v 1.3.32).</li> -<li>www/Changes.rst: Update ChangeLog links due to new year, and -1.3.32 release.</li> -</ul> -</blockquote> -<p>2019-06-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/bmp.c (WriteBMPImage): Detect arithmetic overflow of -image_size. Add more tracing. Reduce compilation warnings. -(EncodeImage): Reduce compilation warnings. -(WriteBMPImage): Assure that chromaticity uses double-precision -for multiply before casting to unsigned integer.</li> -<li>coders/wpg.c (ReallocColormap): Reduce compilation warnings.</li> -<li>coders/braille.c (WriteBRAILLEImage): Reduce compilation -warnings.</li> -<li>coders/dib.c (WriteDIBImage): Detect arithmetic overflow of -image_size. Reduce compilation warnings. -(EncodeImage): Reduce compilation warnings.</li> -<li>coders/locale.c (WriteLOCALEImage): Reduce compilation warnings.</li> -</ul> -</blockquote> -<p>2019-06-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>Makefile.am (dist-zstd): Use the maximum possible compression -level (22) when creating a Zstd-compressed tarball to get close to -lzip/xz compression levels.</li> -<li>coders/tiff.c (ReadTIFFImage): Fix typo in initialization of -'tile' pointer variable.</li> -<li>version.sh: Updates in preparation for 1.3.32 release.</li> -</ul> -</blockquote> -<p>2019-06-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>Makefile.am (release): Add a release target to make it easier to -produce and sign the release files. Add a zstd-compressed output -tarball just because we can.</li> -</ul> -</blockquote> -<p>2019-06-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (DrawImage): Fix typo when initializing -number_coordinates. Somehow GCC and clang let this typo slip by.</li> </ul> </blockquote> -<p>2019-06-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/dib.c (ReadDIBImage): Preserve PseudoClass opaque -representation if ICO mask is opaque, otherwise return a -DirectClass image.</li> +<li>magick/magick.c (MagickToMime): Add a MIME translation for +"jpg". Issue reported by Pro Turm.</li> </ul> </blockquote> -<p>2019-06-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/render.c (DrawImage): Detect an error in TracePath() and -quit rather than forging on.</li> +<li>www/INSTALL-windows.rst: Add quoting to avoid losing backslashes +in Windows paths.</li> </ul> </blockquote> -<p>2019-06-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/render.c (DrawImage): Terminate drawing if -DrawCompositeMask() reports failure. Fixes oss-fuzz 12373 -"graphicsmagick/coder_MVG_fuzzer: Timeout in -graphicsmagick_coder_MVG_fuzzer". -(TracePath): Terminate path parsing upon first parsing error.</li> +<li>magick/common.h: Add missing unsupported handling for some +recently added GCC/Clang attributes.</li> +<li>magick/: Move all remaining private implementation code in +public headers which is guarded by MAGICK_IMPLEMENTATION into +private headers, which are never installed.</li> </ul> </blockquote> -<p>2019-06-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/txt.c (ReadTXTImage): Use real a new-line character as -line delimiter rather than 'n' string.</li> -<li>magick/annotate.c (AnnotateImage): No longer implicitly call -TranslateText() since this is not suitable for most use-cases and -causes additional performance impact. The API user can perform -such translations in advance on the text string using -TranslateText() if need be. No longer call StringToList() to -split strings into an array of strings since this can lead to -unexpected results, and a custom-splitter is more efficient.</li> +<li>coders/tiff.c (WriteTIFFImage): Evidence suggests that large +strip sizes improve performance by reducing the number of I/Os. +The defaults suggested by libtiff are way to small for today's +images and computers. Default TIFF strip sizes so that each +uncompressed strip consumes up to 1MiB of memory, or 4MiB for FAX +oriented codecs, or based on LZMA compression level when using +LZMA compression. The default size may be adjusted via the +TIFF_BYTES_PER_STRIP preprocessor definition.</li> </ul> </blockquote> -<p>2019-06-06 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-09 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> <blockquote> <ul class="simple"> -<li>magick/render.c (DrawImage): Only support <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax to -read drawing primitive from a file if we are not already drawing.</li> -<li>magick/utility.c (TranslateTextEx): Remove support for reading -from a file using <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' syntax due to security concerns. -Problem was reported to us by "Battle Furry" via the -GraphicsMagick security mail alias on June 6, 2019.</li> +<li>coders/wpg.c ZeroFillMissing data will never been triggered when +y>=image->rows.</li> </ul> </blockquote> -<p>2019-06-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/utility.c (SetClientFilename): Reduce initialized data -some more.</li> +<li>magick/render.c (DrawImage): Limit pattern dimensions by +LONG_MAX rather than ULONG_MAX since this seems more likely to +avoid arithmetic overflows later on.</li> </ul> </blockquote> -<p>2019-06-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-09 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> <blockquote> <ul class="simple"> -<li>magick/nt_base.c: Search for n019003l.pfb (the "Helvetica"-like -font) rather than fonts.dir since fonts.dir is not present in all -URW font collections.</li> -<li>NEWS.txt: Update news.</li> +<li>coders/wpg.c Check for exception in image.</li> </ul> </blockquote> -<p>2019-06-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/logo.c: Tidy logo image definitions, and logo image -output.</li> +<li>magick/command.c (VersionCommand): Add Google perftools tcmalloc +to the available feature support.</li> +<li>www/INSTALL-unix.rst: Include some information about building +with MSYS2.</li> +<li>coders/png.c (ReadOnePNGImage): Eliminate compilation warnings +about signed/unsigned comparisons.</li> +<li>magick/image.c: Remove private global string constants, and one +private global unsigned long constant, from the library ABI. +Since the global constants were declared via a private header and +only used within the GraphicsMagick build, removing these does not +impact the public ABI. The globals removed are BackgroundColor, +BorderColor, DefaultTileFrame, DefaultTileGeometry, +DefaultTileLabel, ForegroundColor, HighlightColor, MatteColor, +PSDensityGeometry, PSPageGeometry, and DefaultCompressionQuality.</li> </ul> </blockquote> -<p>2019-05-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/mat.c: Make more data const.</li> +<li>magick/render.c (DrawImage): Apply draconian pattern +specification offset and dimension validations. Hopefully there +is no impact to usability. If so please report it as a bug. +Fixes oss-fuzz 20586 "graphicsmagick:coder_MVG_fuzzer: +Integer-overflow in DrawPolygonPrimitive".</li> +<li>coders/svg.c (ReadSVGImage): Fix dereference of NULL pointer +when stopping image timer.</li> </ul> </blockquote> -<p>2019-05-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-06 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/animate.c: Reduce initialized static allocations.</li> -<li>magick/display.c: Reduce initialized static allocations.</li> -<li>magick/widget.c (MagickSplitNDLTextToList): Add static -implementation function.</li> +<li>coders/pict.c (DecodeImage): Allocate extra scanline memory to +allow small RLE overrun. Fixes oss-fuzz 20271 +"graphicsmagick:coder_PICT_fuzzer: Heap-buffer-overflow in +ExpandBuffer" and 20272 "graphicsmagick:coder_PICT_fuzzer: +Heap-buffer-overflow in DecodeImage".</li> +<li>PerlMagick/t/wmf/read.t: Update WMF reference images. Relax +test requirements for ski.wmf.</li> +<li>locale/C.mgk: Correct error message associated with +"UnsupportedNumberOfRows". Patch was submitted by Thorsten +Alteholz via private email on 2020-02-05.</li> </ul> </blockquote> -<p>2019-05-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-04 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/webp.c (RegisterWEBPImage): Use sprintf to format version -since snprintf is not available in old Visual Studio.</li> +<li>coders/topol.c: Include magick/magick_endian.h.</li> </ul> </blockquote> -<p>2019-05-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-02-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/dcm.c: Make more data const.</li> -<li>www/INSTALL-unix.rst: Add documentation for how to install URW -fonts from various package management systems.</li> +<li>magick, coders, wand: Added copious casts to avoid possible +integer overflows in the Microsoft Windows 64-bit build, where +sizeof(long) < sizeof(size_t).</li> </ul> </blockquote> -<p>2019-05-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-26 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>www/authors.rst: Add authorship attribution to Samuel Thibault -for contributing support for the Braille image format.</li> -<li>coders/braille.c: Add support for Braille image format by Samuel -Thibault. Patch submitted via SourceForge patch #59 "Add braille -image format support.</li> +<li>magick/render.h ("PrimitiveInfo"): Change PrimitiveInfo +coordinates from type 'unsigned long' to 'size_t'.</li> </ul> </blockquote> -<p>2019-05-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/tempfile.c: Make more data const.</li> -<li>magick/signature.c: Make more data const.</li> -<li>magick/quantize.c: Make more data const.</li> -<li>magick/attribute.c: Make more data const.</li> -<li>coders/png.c: Make more data const.</li> -<li>coders/mpeg.c: Make more data const.</li> -<li>coders/wmf.c: Make more data const.</li> -<li>coders/tile.c: Make more data const.</li> +<li>magick/gradient.c (GradientImage): Warnings reduction, plus note +about incorrect diagonal gradients math.</li> </ul> </blockquote> -<p>2019-05-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-20 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> <blockquote> <ul class="simple"> -<li>magick/enum_strings.c: Make more data const.</li> +<li>VisualMagickconfigureconfigure.cpp Option /arch:SSE2 is +available only for 32 bit build.</li> </ul> </blockquote> -<p>2019-05-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-19 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/magick.c: Make more data const.</li> -<li>magick/type.c (GetTypeInfoByFamily): Make more data const.</li> -<li>magick/unix_port.c (MagickGetMMUPageSize): Decrease initialized -data.</li> -<li>magick/utility.c (GetPageGeometry): Make more data const.</li> -<li>coders/pdf.c (WritePDFImage): Allocate working buffer on stack -and pass as argument to EscapeParenthesis() to eliminate a thread -safety problem and also reduce BSS size.</li> -<li>coders/webp.c (RegisterWEBPImage): Fix compiler warning.</li> -<li>coders/jbig.c (RegisterJBIGImage): Make more data const.</li> -<li>coders/pict.c (DecodeImage): Allocate output buffer used by -ExpandBuffer() on the stack rather than as static data private to -ExpandBuffer(). Eliminates a thread safety problem and also -reduces BSS size.</li> -<li>coders/webp.c (RegisterWEBPImage): Reduce BSS size.</li> +<li>coders/pcd.c (DecodeImage): Assure that pcd_length gets +initialized with something.</li> +<li>Magick++/lib/Options.cpp (strokeDashArray): Add needless check +for _drawInfo->dash_pattern null in order to make static analysis +happy.</li> +<li>magick/render.c (DestroyPolygonInfo): Make sure to not +dereference a null edges pointer.</li> +<li>coders/pdb.c (WritePDBImage): Make sure that null comment value +is not dereferenced.</li> +<li>coders/vid.c (ReadVIDImage): Make sure that +ThrowVIDReaderException does not dereference a null pointer.</li> +<li>magick/quantize.c (ClassifyImageColors): Fix error handling so a +null pointer won't be consumed after a memory allocation failure. +Changed the location of some variable declarations and added some +comments.</li> </ul> </blockquote> -<p>2019-05-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/jp2.c: Make more data const.</li> -<li>coders/wmf.c: Make more data const.</li> -<li>coders/ps.c (WritePSImage): Make more data const.</li> -<li>coders/ps2.c (WritePS2Image): Make more data const.</li> -</ul> -</blockquote> -<p>2019-05-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/static.c: Revert to previous 'name' storage. Callback -functions in structure block being properly const.</li> -<li>coders/xpm.c: Make more data const.</li> -<li>coders/pnm.c: Make more data const.</li> -<li>coders/palm.c: Make more data const.</li> -<li>coders/meta.c: Make more data const.</li> -<li>coders/dcraw.c: Make more data const.</li> -<li>magick/command.c: Fix compilation problem when HasX11 is not -defined.</li> -</ul> -</blockquote> -<p>2019-05-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/command.c: Make more data const.</li> -</ul> -</blockquote> -<p>2019-05-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/webp.c (RegisterWEBPImage): Make more data const.</li> -<li>coders/svg.c (RegisterSVGImage): Reduce BSS size.</li> -<li>coders/miff.c (RegisterMIFFImage): Fix version reporting.</li> -<li>coders/ttf.c (RegisterTTFImage): Fixed reporting of FreeType -version.</li> -<li>coders/tiff.c (RegisterTIFFImage): Reduce BSS size.</li> -<li>coders/sfw.c (ReadSFWImage): Make SFW static data completely -const.</li> -<li>coders/ps3.c: Make PS3 static data completely const.</li> -<li>coders/pict.c: Make PICT static data completely const.</li> -<li>magick/error.c (ThrowException, ThrowLoggedException): Handle -the case where some passed character strings refer to existing -exception character strings. Fixes SourceForge issue #603 -"heap-use-after-free in function ThrowLoggedException of -magick/error.c". -(CatchException): Restructure so there is one return point.</li> -<li>coders/miff.c (ImportRLEPixels): Fix heap overflow caused by a -typo in the code. Also fix undefined behavior caused by large -left shifts of an unsigned char. Fixes SourceForge issue #608 -"heap-buffer-overflow in ImportRLEPixels of coders/miff.c.</li> -</ul> -</blockquote> -<p>2019-05-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/bmp.c (ReadBMPImage): Fix subrange/scene handling in -'ping' mode so it is like the other formats. Only the first frame -was being enumerated while in 'ping' mode.</li> -</ul> -</blockquote> -<p>2019-05-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>NEWS.txt: Update news.</li> -<li>magick/utility.c (ExpandFilenames): Only expand <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' to a -list of arguments read from 'filename' if the path <a class="reference external" href="mailto:'%40filename">'<span>@</span>filename</a>' -does not exist. This fix is made based on an email posting to the -'graphicsmagick-help' mailing list at SourceForge by "Test User" -on Tue, 7 May 2019.</li> -</ul> -</blockquote> -<p>2019-05-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/colorspace.c: Reorder initialization of colorspace tables -for a possible performance improvement.</li> -<li>magick/fx.c (WaveImage): Use float for sin map.</li> -<li>configure.ac: Test for float versions of math functions.</li> -<li>magick/gem.c (GenerateDifferentialNoise): Use float versions of -math functions when available.</li> -</ul> -</blockquote> -<p>2019-05-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>www/INSTALL-unix.rst: Expanded configure documentation for ---with-modules. Added specific configure documentation for ---with-umem and --with-mtmalloc, which may be useful on -Solaris-derived systems.</li> -</ul> -</blockquote> -<p>2019-04-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/command.c (VersionCommand): Show OpenMP specification -version corresponding to version enumeration.</li> -<li>magick/locale.c (GetLocaleMessageFromTag): Eliminate clang -warning about comparison with a constant value.</li> -<li>magick/log.c (InitializeLogInfo): Initialize LogInfo log_configured.</li> -</ul> -</blockquote> -<p>2019-04-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/magic.c (struct): Ajust StaticMagic definition to be more -const-friendly.</li> -<li>magick/color_lookup.c (struct): Adjust StaticColors definition -to be more const-friendly.</li> -<li>magick/attribute.c: Ajust tag_table definition to be more -const-friendly.</li> -<li>magick/log.c: Allocate LogInfo from heap as we used to do.</li> -<li>magick/locale.c (GetLocaleMessageFromTag): Adaptations to locale -coder output changes.</li> -<li>coders/locale.c (WriteLOCALEImage): Adjust locale coder output -to be more const.</li> -</ul> -</blockquote> -<p>2019-04-20 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/color_lookup.c: Make built-in color tables fully const.</li> -<li>magick/animate.c: Use MagickXTextViewWidgetNDL() to display help -text.</li> -<li>magick/display.c: Use MagickXTextViewWidgetNDL() to display help -text.</li> -<li>magick/widget.c (MagickXTextViewWidgetNDL): New private function -to display multi-line null-delimited text in an X11 widget.</li> -<li>coders/xwd.c (ReadXWDImage): Added even more XWD header -validation logic. Addresses problems noted by email from Hongxu -Chen to the graphicsmagick-security mail alias on Fri, 19 Apr 2019 -and Sat, 20 Apr 2019 and entitled "Multiple crashes (FPE and -invalid read) when processing XWD files".</li> -</ul> -</blockquote> -<p>2019-04-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/xwd.c (ReadXWDImage): Added even more XWD header -validation logic. Addresses problems noted by email from Hongxu -Chen to the graphicsmagick-security mail alias on Wed, 17 Apr 2019 -and entitled "Multiple crashes (FPE and invalid read) when -processing XWD files". Also addresses additional issues noted -that an attacker could request to allocate an arbitrary amount of -memory based on ncolors and the claimed header size.</li> -</ul> -</blockquote> -<p>2019-04-14 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/xwd.c (ReadXWDImage): Add more XWD header validation -logic. Addresses problems noted by email from Hongxu Chen to the -graphicsmagick-security mail alias on Sun, 14 Apr 2019 and -entitled "Multiple crashes (FPE and invalid read) when processing -XWD files".</li> -</ul> -</blockquote> -<p>2019-04-13 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pdb.c (WritePDBImage): Assure that input scanline is -cleared in order to cover up some decoder bug. May fix 14215 -"graphicsmagick/coder_PDB_fuzzer: Use-of-uninitialized-value in -WritePDBImage", which I have not been able to reproduce.</li> -<li>magick/render.c (DrawPrimitive): Check primitive point x/y -values for NaN. -(DrawImage): Fix oss-fuzz issue 14173 -"graphicsmagick/coder_MVG_fuzzer: Integer-overflow in DrawImage".</li> -<li>magick/pixel_cache.c (SetNexus): Fix oss-fuzz issue 14208 -"graphicsmagick/coder_MVG_fuzzer: Integer-overflow in SetNexus".</li> -</ul> -</blockquote> -<p>2019-04-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/display.c: Add even more const declarations.</li> -<li>coders/mat.c (WriteMATLABImage): Add completely missing error -handling. Fixes SourceForge issue #604 "heap-buffer-overflow in -function WriteMATLABImage of coders/mat.c".</li> -</ul> -</blockquote> -<p>2019-04-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pdb.c (WritePDBImage): Fix SourceForge issue #605 -"heap-buffer-overflow in function WritePDBImage of coders/pdb.c".</li> -<li>magick/widget.c: Add many const declarations.</li> -<li>magick/display.c: Incorporate and eliminate display.h. Add many -const declarations.</li> -<li>magick/animate.c: Incorporate and eliminate animate.h. Add many -const declarations.</li> -</ul> -</blockquote> -<p>2019-04-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/wmf.c (ReadWMFImage): Reject WMF files with an empty -bounding box. Fixes SourceForge issue #606 "Division by Zero in -coders/wmf.c".</li> -</ul> -</blockquote> -<p>2019-04-07 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/nt_base.c Fix a problem of finding ghostscript fonts. -Variable "font_dir" was useless and thus removed. No need to copy -text multiple times. Use const char gs_font_dir[] instead of -pointer.</li> -</ul> -</blockquote> -<p>2019-04-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/xwd.c (ReadXWDImage): Perform more header validations and -a file size validation in order to reject files with bogus -headers. -(WriteXWDImage): Fix SourceForge issue #599 -"heap_buffer_overflow_WRITE in function WriteXWDImage of -coders/xwd.c".</li> -</ul> -</blockquote> -<p>2019-04-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/svg.c (SVGStartElement): Fix stack buffer overflow while -parsing quoted font family value. Fixes SourceForge issue #600 -"stack-buffer-overflow in function SVGStartElement of -coders/svg.c".</li> -<li>coders/miff.c (ReadMIFFImage): Detect end of file while reading -RLE packets. Fixes SourceForge issue #598 "heap-buffer-overflow -in function ReadMIFFImage of coders/miff.c".</li> -</ul> -</blockquote> -<p>2019-04-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/xwd.c (ReadXWDImage): Fix heap buffer overflow while -reading DirectClass XWD file. Fixes SourceForge issue #597 -"heap-buffer-overflow in function ReadXWDImage of coders/xwd.c".</li> -</ul> -</blockquote> -<p>2019-04-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (ReadMNGImage): Fix small buffer overflow (one -PixelPacket) of image colormap. Fixes SourceForge issue #596 -"heap-buffer-overflow in function CloneImage of magick/image.c".</li> -<li>magick/colormap.c (ReallocateImageColormap): New function to -reallocate an image colormap.</li> -<li>coders/logo.c: Make more static data const.</li> -<li>magick/module_aliases.h: Make more static data const.</li> -<li>magick/static.c: Make more static data const.</li> -</ul> -</blockquote> -<p>2019-04-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/log.c (LogMagickEventList): Log elapsed time with -microsecond precision.</li> -</ul> -</blockquote> -<p>2019-03-31 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/mpc.c (ReadMPCImage): Deal with a profile length of zero, -or an irrationally large profile length. Fixes SourceForge issue -#601 "memory leak in function ReadMPCImage of coders/mpc.c ".</li> -<li>magick/xwindow.c (MagickXGetWindowInfo): Deal with the unlikely -case that the memory allocation for window->segment_info -fails. Fixes SourceForge #595 "use allocate memory before null -check" as pertains to magick/xwindow.c.</li> -<li>magick/segment.c (Classify): Add check for memory allocation -failure when allocating cluster array. Fixes SourceForge #595 "use -allocate memory before null check" as pertains to -magick/segment.c.</li> -<li>coders/pdb.c (ReadPDBImage): Fix use of allocated memory before -null check. Fixes SourceForge #595 "use allocate memory before -null check" as pertains to coders/pdb.c.</li> -</ul> -</blockquote> -<p>2019-03-30 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/pixel_cache.c (AllocateThreadViewSet): Simplify the image -view model by adding NexusInfo to the View structure (rather than -referencing it via a pointer) to lessen the number of required -per-thread allocations and to improve locality of reference.</li> -</ul> -</blockquote> -<p>2019-03-22 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/wpg.c (WPG1_Palette): Change to a static declaration.</li> -<li>coders/dcm.c: dicom_info array is now fully in the data segment.</li> -</ul> -</blockquote> -<p>2019-03-18 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>configure.ac: Add support for using the Solaris mtmalloc -library. This is primarily for testing or as an alternative to -Solaris umem. -Stop using posix_memalign() until it is uniformly more mature and -reliably quick.</li> -</ul> -</blockquote> -<p>2019-03-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/pixel_cache.c (SetNexus): Smallest staging-area -allocation is cache line size so declare it as such.</li> -<li>magick/fx.c: Functions in the fx module which return a new Image -should return a null Image if an exception was thrown. Also, -assure that user has an opportunity to see the exception which was -thrown.</li> -<li>magick/error.c (ThrowLoggedException): Throwing an exception is -now thread-safe.</li> -<li>magick/pixel_cache-private.h: Moved pixel cache private -definitions to private header.</li> -</ul> -</blockquote> -<p>2019-03-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/pixel_cache.c (SetNexus): Pass x, y, columns, and rows -rather than a pointer to RectangleInfo. This should be easier to -inline on modern CPUs.</li> -</ul> -</blockquote> -<p>2019-03-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/pixel_cache.c (SetNexus): Cache resource limits in -CacheInfo rather than repeatedly calling into the resource code in -order to lessen the overhead of performing resource limit checks -on the pixel cache views.</li> -<li>magick/resource.c (AcquireMagickResource): Use a lock for each -resource in order to lessen contention. Return a maximum 64-bit -integer value if the resource has not been limited. Previously -returned -1 in this case but this was not documented.</li> -</ul> -</blockquote> -<p>2019-03-07 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/import.c (ImportViewPixelArea): If range between max and -min is less than MagickEpsilon, produce a black image rather than -throwing an exception.</li> -<li>coders/mat.c (ReadMATImage): Fix memory leak on unexpected end -of file. Fixes oss-fuzz 13556 "graphicsmagick/coder_MAT_fuzzer: -Direct-leak in ReadMATImage". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-03-06 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/mat.c (ReadMATImage): Quit if image scanlines are not -fully populated due to exception. Fixes oss-fuzz 13530 -"graphicsmagick/coder_MAT_fuzzer: Use-of-uninitialized-value in -InsertComplexFloatRow". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-03-04 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/txt.c (ReadTXTImage): Don't start new line if x_max < -x_min. Avoids calling SetImagePixels() with a width of zero. -Related to oss-fuzz 13521 "graphicsmagick/coder_TEXT_fuzzer: -Floating-point-exception in SetNexus". (Credit to OSS-Fuzz)</li> -<li>magick/pixel_cache.c (SetNexus): Report error for empty region -rather than crashing due to divide by zero exception. This is a -new bug due to yesterday's changes. Fixes oss-fuzz 13521 -"graphicsmagick/coder_TEXT_fuzzer: Floating-point-exception in -SetNexus". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-03-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>design/pixel-cache.dot: Update design dot diagram to remove -IsNexusInCore and add CompositeCacheNexus.</li> -<li>magick/pixel_cache.c (SetNexus): Apply resource limits to pixel -nexus allocations using the same limits (total pixels, width, -height, memory) as applied to the whole image since some requests -are directly influenced by the input file. Add yet more tests for -arithmetic overflow. Whole source module is re-arranged so that -static functions are in order of dependency so that forward -prototype declarations are no longer needed. Fixes oss-fuzz 13210 -"graphicsmagick/coder_MVG_fuzzer: Integer-overflow in -SetNexus". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-03-02 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/pixel_cache.c (OpenCache): Use unsigned 64-bit value to -store CacheInfo offset and length as well as for the total pixels -calculation. Add some more arithmetic overflow detections.</li> -<li>coders/topol.c (ReadTOPOLImage): Report a corrupt image -exception "Unexpected end-of-file" if reader encounters end of -file while reading header rows. Addresses oss-fuzz 7981 -"graphicsmagick/coder_TOPOL_fuzzer: Use-of-uninitialized-value in -InsertRow". (Credit to OSS-Fuzz)</li> -<li>coders/mat.c (ReadMATImage): Report a corrupt image exception -"Unexpected end-of-file" if reader encounters end of file while -reading scanlines. Also added some helpful traces. Hopefully -addresses oss-fuzz 13445 "graphicsmagick/coder_MAT_fuzzer: -Use-of-uninitialized-value in IsGrayImage". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-02-26 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/image.h ("C"): Include as "magick/image-private.h" as the -other headers are. -("C"): Include "magick/image-private.h" inside the protective -MAGICK_IMPLEMENTATION guard, as it should have been. This error -broke the oss-fuzz build.</li> -</ul> -</blockquote> -<p>2019-02-24 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/image-private.h (_ImageExtra): Put ImageExtra definition -in a private header file so that its definition may be accessed -directly by library internals. Add some accessor macros to -provide access and update code to use them.</li> -<li>coders/wpg.c (ReallocColormap): Make sure that there is not a -heap overwrite if the number of colors has been reduced. Thanks -to Jaroslav Fojtik for giving me a heads up about this.</li> -</ul> -</blockquote> -<p>2019-02-23 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/monitor.c (MagickMonitorActive): Add new private function -to test if a progress monitor is active. Update all progress -monitor code in loops to use this information, while also updating -code to hopefully address concerns expressed by Hongxu Chen about -data races on the graphicsmagick-bugs mailing list starting on -February 6, 2019.</li> -</ul> -</blockquote> -<p>2019-02-21 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/mpc.c (ReadMPCImage): Tally directory length to avoid -death by strlen().</li> -<li>coders/miff.c (ReadMIFFImage): Tally directory length to avoid -death by strlen(). Fixes oss-fuzz 13190 -"graphicsmagick/coder_MIFF_fuzzer: Timeout in -graphicsmagick_coder_MIFF_fuzzer". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-02-17 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/svg.c (ReadSVGImage): Don't call xmlCleanupParser() -in module code since this may cause other libxml users to fail.</li> -<li>coders/msl.c (ProcessMSLScript): Don't call xmlCleanupParser() -in module code since this may cause other libxml users to fail.</li> -<li>magick/render.c (DrawDashPolygon): (DrawDashPolygon): Don't read -beyond end of dash pattern array. This is a second instance of -issue identified by SourceForge issue #591. Fixes oss-fuzz 13160 -"graphicsmagick/coder_MVG_fuzzer: Heap-buffer-overflow in -DrawDashPolygon". The earlier attempt to fix this problem today -broke dash patterns entirely. (Credit to OSS-Fuzz)</li> -<li>magick/annotate.c (RenderFreetype): Eliminate memory leak of -GlyphInfo.image (type FT_Glyph) while rendering some FreeType -fonts such as the one we use now in the Magick++ test suite.</li> -</ul> -</blockquote> -<p>2019-02-16 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/render.c (DrawDashPolygon): Avoid reading one beyond -length of dash pattern array, which is terminated by value 0.0. -Fixes SourceForge issue #591 "Heap buffer overflow in -DrawDashPolygon when parsing SVG images". -(DrawPrimitive): Add arithmetic overflow checks when converting -computed coordinates from 'double' to 'long'. -(DrawImage): Don't destroy draw_info in graphic_context when -draw_info has not been allocated yet. Problem reported via email -by Sami Supperi on Thu, 14 Feb 2019.</li> -<li>coders/jpeg.c (ReadJPEGImage): JPEG files are observed to -provide compression ratios as high as 2500 so allow for that. -Also, the test for "Unreasonable dimensions" delivered yesterday -was flawed since magick_rows and magick_columns are only set if a -desired image size was provided. Fixes SourceForge issue 592 -"Non-malicious JPEG file fails with "Unreasonable dimensions"".</li> -<li>coders/tiff.c (ReadTIFFImage): Only disassociate alpha channel -for images where photometic is PHOTOMETRIC_RGB. Fixes oss-fuzz -13115 "graphicsmagick/coder_PTIF_fuzzer: -Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to -OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-02-15 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/jpeg.c (ReadJPEGImage): Base test for "Unreasonable -dimensions" on original JPEG dimensions and not the scaled -dimensions. Fixes SourceForge issue 593 "gm convert: Insufficient -image data in file when hinting input image".</li> -</ul> -</blockquote> -<p>2019-02-13 Troy Patteson <<a class="reference external" href="mailto:troyp%40ieee.org">troyp<span>@</span>ieee<span>.</span>org</a>></p> -<blockquote> -<ul class="simple"> -<li>PerlMagick/Magick.xs (Mogrify): Add decorate argument to Annotate.</li> -<li>PerlMagick/Magick.xs (Mogrify): Remove reference to undefined -Annotate argument.</li> -</ul> -</blockquote> -<p>2019-02-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/tiff.c (ReadTIFFImage): For planar TIFF, make sure that -pixels are initialized in case some planes are missing. Fixes -oss-fuzz 13046 "graphicsmagick/coder_PTIF_fuzzer: -Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to -OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-02-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pdf.c (WritePDFImage): Make sure to free 'xref' before -returning. Similar to ImageMagick CVE-2019-7397 "In ImageMagick -before 7.0.8-25, several memory leaks exist in WritePDFImage in -coders/pdf.c.". Thanks to Petr Gajdos for bringing this issue to -our attention.</li> -</ul> -</blockquote> -<p>2019-02-10 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/wpg.c (ReadWPGImage): Use a different way to reallocate -the colormap which preserves existing content, but also updates -image->colors and assures that added palette entries are +<li>coders/caption.c (ReadCAPTIONImage): Assure that metrics are initialized.</li> -<li>coders/png.c (ReadMNGImage): Bound maximum loop iterations by -subrange as a primitive means of limiting resource consumption. -This should finally resolve oss-fuzz 12738 -"graphicsmagick/enhance_fuzzer: Out-of-memory in -graphicsmagick_enhance_fuzzer". (Credit to OSS-Fuzz)</li> -<li>coders/tiff.c (ReadTIFFImage): Assure that opacity channel is -initialized in the RGBAStrippedMethod case. Convert -'CorruptImageError' encountered while testing for more frames to -'CorruptImageWarning' so we return the frames already read. -Second try at fixing oss-fuzz 11896 -"graphicsmagick/coder_PTIF_fuzzer: Use-of-uninitialized-value in -VerticalFilter".</li> -<li>coders/dpx.c (AttributeToString): Eliminate clang -"-Wstring-plus-int" warning observed in oss-fuzz build.</li> -<li>coders/cineon.c (AttributeToString): Eliminate clang -"-Wstring-plus-int" warning observed in oss-fuzz build.</li> -</ul> -</blockquote> -<p>2019-02-09 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/pict.c (DecodeImage): Avoide a one-byte over-read of -pixels heap allocation. The cause of the over-read is not yet -understood. Fixes oss-fuzz 12019 -"graphicsmagick/coder_PICT_fuzzer: Heap-buffer-overflow in -ExpandBuffer". (Credit to OSS-Fuzz)</li> -<li>coders/wpg.c (ReadWPGImage): Assure that all colormap entries -are initialized. Fixes oss-fuzz 12614 -"graphicsmagick/enhance_fuzzer: Use-of-uninitialized-value in -EnhanceImage". (Credit to OSS-Fuzz)</li> -<li>coders/tiff.c (ReadTIFFImage): Make sure that image is in -DirectClass mode and ignore any claimed colormap when the image is -read using the RGBAStrippedMethod, RGBATiledMethod, or -RGBAPuntMethod cases. Fixes oss-fuzz 12195 -"graphicsmagick/coder_PTIF_fuzzer: Use-of-uninitialized-value in -ExportGrayQuantumType". (Credit to OSS-Fuzz)</li> -<li>coders/miff.c (ReadMIFFImage): Improve pixel buffer calculations -to defend against overflow. Assure that zlib and bzlib decode the -expected number of bytes for a pixel row. Fixes oss-fuzz issue -12448 "graphicsmagick/coder_MIFF_fuzzer: -Use-of-uninitialized-value in RGBTransformPackets". (Credit to -OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-02-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/png.c (ReadMNGImage): Quit processing and report error -upon failure to insert MNG background layer. Fixes oss-fuzz 12738 -"graphicsmagick/enhance_fuzzer: Out-of-memory in -graphicsmagick_enhance_fuzzer". (Credit to OSS-Fuzz)</li> -</ul> -</blockquote> -<p>2019-02-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>coders/dib.c (ReadDIBImage, WriteDIBImage): Improve buffer-size -calculations to guard against buffer overflows. The reader -version was not as complete as it should have been, whereas the -writer version did not guard against arithmetic overflow at all.</li> -<li>coders/bmp.c (ReadBMPImage, WriteBMPImage): Improve buffer-size -calculations to guard against buffer overflows. This is a -follow-on fix to the previous fix submitted for SourceForge issue -#582 "heap-buffer-overflow in ReadBMPImage of bmp.c" which is now -also identified as CVE-2018-20185.</li> -<li>www/Hg.rst: Updates to reflect current usage and availability.</li> -<li>www/authors.rst: Promote Troy Patteson to the active contributor -category.</li> -</ul> -</blockquote> -<p>2019-02-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> -<blockquote> -<ul class="simple"> -<li>magick/version.h.in: Rotate ChangeLog and update copyright -statements for the new year.</li> +<li>magick/pixel_cache.c (DestroyThreadViewSet): Check if views +pointer is not null before destroying views.</li> +<li>coders/xpm.c (ReadXPMImage): Properly detect the case where the +XPM colormap is not fully initialized.</li> +<li>coders/pict.c (DecodeImage): Fix heap buffer over-reads. Fixes +oss-fuzz issue 20053 "graphicsmagick:coder_PICT_fuzzer: +Heap-buffer-overflow in ExpandBuffer" and oss-fuzz issue 20048 +"graphicsmagick:coder_PICT_fuzzer: Heap-buffer-overflow in +DecodeImage". Both of these oss-fuzz issues appeared due to +recent changes since the last release.</li> +<li>coders/meta.c (WriteMETAImage): Assure that 'iptc_offset' is +initialized and valid.</li> +<li>coders/jpeg.c (ReadJPEGImage): Assure that evaluating the +embedded profile length does not suffer from undefined behavior.</li> </ul> </blockquote> -<p>2019-01-30 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-12 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>coders/webp.c (WriteWEBPImage): Patch by Przemysław Sobala to -support WebP 'use_sharp_yuv' option ("if needed, use sharp (and -slow) RGB->YUV conversion") via <cite>-define webp:use-sharp-yuv=true</cite>.</li> +<li>magick/render.c (DrawImage): Add more MVG parser validations.</li> </ul> </blockquote> -<p>2019-01-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<p>2020-01-11 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple"> -<li>magick/pixel_cache.c (SetNexus): Merge IsNexusInCore() -implementation code into SetNexus() and add check for if -cache_info->pixels is null. Fixes SourceForge issue #588 "Bug in -IsNexusInCore()".</li> -<li>configure.ac (DcrawExtraOptions): Request TIFF output from dcraw -if build supports TIFF format in order to obtain more metadata. -This allows obtaining some metadata from standard TIFF tags -(e.g. camera make, model, and dcraw version), and any attached ICC -profile, but not specifically EXIF data since we don't support -extracting EXIF data from TIFF yet. Inspired by SourceForge issue -589 "Identify lack of data (no Exif) in RAW formats".</li> +<li>coders/histogram.c (WriteHISTOGRAMImage): Histogram coder was +relying on the previously removed '@' file inclusion feature to +insert the histogram comment text. Write a PseudoClass MIFF image +with RLE compression. Fixes SourceForge issue #622 "Histogram +produces incorrect color table attribute ".</li> +<li>magick/pixel_cache.c (ModifyCache): Re-open the pixel cache if +the cache rows/columns do not match the owning image rows/columns.</li> +<li>magick/transform.c (TransformImage): TransformImage now returns +a MagickPassFail return status value rather than void.</li> +<li>coders/pict.c (ReadPICTImage): Fix some over-strict validations +which were preventing some PICT files which were previously read +successfully from being accepted. Fix problems which occurred when +the clipping rectangle changed the image size. Improve reading +embedded JPEG blobs. Now successfully reads all raster PICT files +I have available.</li> +</ul> +</blockquote> +<p>2020-01-08 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/pict.c (ReadPICTImage): Be more strict about PICT +rectangle by treating rectangle dimensions as if they are a 16-bit +signed type and not allowing negative values. Avoid GCC warnings +which sprung up similar to "warning: comparison is always false +due to limited range of data type".</li> +</ul> +</blockquote> +<p>2020-01-05 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/sfw.c (ReadSFWImage): Restore a DestroyImage() statement +which was accidentally deleted by recent edits. Fixes oss-fuzz +"Issue 19819 in oss-fuzz: graphicsmagick:coder_SFW_fuzzer: +Indirect-leak in AllocateImage".</li> +<li>coders/png.c (WriteOneJNGImage): Detect when JPEG encoder has +failed, and throw exception. Fix image dimension limit +validations. Stop discarding exception report. Fixes SourceForge +bug #621 "Assertion in WriteBlob at magick/blob.c:4937" which was +reported by Suhwan Song.</li> +<li>coders/pict.c (WritePICTImage): Eliminating small buffer overrun +when run-length encoding pixels. Fixes SourceForge bug #620 +"heap-buffer-overflow in EncodeImage at coders/pict.c:1114" which +was reported by Suhwan Song.</li> +<li>coders/logo.c (ReadLOGOImage): PATTERN error handling was +incomplete. Add appropriate error handling. +(ReadLOGOImage): Switch to using ConstituteTextureImage() rather +than TextureImage() since it is more appropriate for this purpose. +(ReadLOGOImage): Oops! Accidental change of behavior. When size +is not supplied, simply return the pattern image.</li> +</ul> +</blockquote> +<p>2020-01-04 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/*.c (ReadFOOImage): Stop image timer just before +returning from reader so that reported timings are correct when +used in the future.</li> +</ul> +</blockquote> +<p>2020-01-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>magick/timer.c (StartTimer): Expose previously existing +StartTimer() function. +(StopTimer): Expose previously existing StartTimer() function.</li> +<li>magick/constitute.c (WriteImage): Don't over-write time-stamp +when output is to INFO format.</li> +</ul> +</blockquote> +<p>2020-01-03 Fojtik Jaroslav <<a class="reference external" href="mailto:JaFojtik%40seznam.cz">JaFojtik<span>@</span>seznam<span>.</span>cz</a>></p> +<blockquote> +<ul class="simple"> +<li>VisualMagickconfigureconfigure.exe: Should not depend on mfcr90.dll. +It is too bad when end user cannot run this tool because of missing DLL.</li> +<li>VisualMagickconfigureconfigure.cpp Make speed optimisation as default +option.</li> +<li>VisualMagickconfigureconfigure.vcproj Give different filename to debug +build to avoid accidental committing debug build to repository.</li> +</ul> +</blockquote> +<p>2020-01-01 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li>coders/dpx.c (GenerateDPXTimeStamp): Use reentrant localtime_r() +function if it is available.</li> +<li>magick/log.c (LogMagickEventList): Use reentrant +localtime_r() function if it is available.</li> +<li>coders/cineon.c (GenerateCineonTimeStamp): Use reentrant +localtime_r() function if it is available.</li> +<li>coders/mat.c (WriteMATLABImage): Use reentrant localtime_r() +function if it is available.</li> +<li>coders/pdf.c (WritePDFImage): Use reentrant localtime_r() +function if it is available.</li> +<li>coders/ps.c (WritePSImage): Use reentrant ctime_r() function +if it is available.</li> +<li>coders/ps2.c (WritePS2Image): Use reentrant ctime_r() function +if it is available.</li> +<li>coders/ps3.c (WritePS3Image): Use reentrant ctime_r() function +if it is available.</li> +<li>configure.ac: Test for getpwnam_r().</li> +<li>magick/utility.c (ExpandFilename): Use reentrant getpwnam_r() +function if it is available.</li> +<li>magick/magick.c (InitializeMagickSignalHandlers): Use the normal +termination signal handler for SIGXCPU and SIGXFSZ so that ulimit +or setrlimit(2) may be used to apply CPU (RLIMIT_CPU) and output +file size (RLIMIT_FSIZE) limits with the normal cleanup, and +without dumping core. Note that any output files currently being +written may be truncated and files being written by external +programs (e.g. Ghostscript) might be left behind unless they are +to a temporary file assigned by GraphicsMagick.</li> +<li>coders/xpm.c (ReadXPMImage): Promote a color-lookup +warning to an error.</li> +<li>coders/xc.c (ReadXCImage): Promote a color-lookup +warning to an error.</li> +<li>coders/null.c (ReadNULLImage): Promote a color-lookup +warning to an error.</li> +<li>Makefile.am: Rotate ChangeLogs for the new year.</li> +<li>coders/gradient.c (ReadGRADIENTImage): Promote a color-lookup +warning to an error.</li> </ul> </blockquote> </div> diff --git a/www/Changelog.rst b/www/Changelog.rst index d917278..03be529 100644 --- a/www/Changelog.rst +++ b/www/Changelog.rst @@ -1,1294 +1,324 @@ -2019-12-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-02-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - NEWS.txt: Updates in preparation for 1.3.34 release. + - version.sh: Updates in preparation for the 1.3.35 release. + Merge changes for 1.3.35 into GraphicsMagick-1\_3 branch. -2019-12-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - www/INSTALL-windows.rst: Update Windows installation and build + documentation. - - NEWS.txt: Update with changes since the last GM release. +2020-02-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/png.c (png\_read\_raw\_profile): Use size\_t type to store - profile length and 'nibbles'. Use safer way to test for profile - buffer overflow. - (ReadOnePNGImage): Use size\_t type to store 'ping\_rowbytes', - 'length', and 'row\_offset'. Check png\_pixels allocation for - arithemetic overflow when computing the required allocation size. + - NEWS.txt: Update with News since previous release. - - coders/tiff.c (WriteNewsProfile): Use size\_t type to store - profile length. - - - coders/pict.c (WritePICTImage): Avoid 'alloc-size-larger-than' - warning from GCC when allocating row\_bytes. - -2019-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - tiff/libtiff/tiffconf.h: Add standard/common libtiff 'SUPPORT' - options which are used in full-fledged Autoconf/Cmake libtiff - builds but were missing from the Visual C template file. In - particular, WebP is now supported and JBIG is somewhat supported. - - - VisualMagick/jbig/libjbig/LIBRARY.txt (EXCLUDE): Remove - tstcodec85.c from JBIG library build. - - - VisualMagick/configure/configure.cpp: Add JBIG library to - include path when building libraries. Add WebP as a dependency - when building libtiff. - -2019-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/nt\_base.h ("C"): Assume that float versions of functions - became available in Visual Studio 2008. - -2019-12-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/log.c (InitializeLogInfo): Using the compiled-in - defaults, always log to stderr by default, even under Microsoft - Windows. The logging output may then be diverted to - 'win32eventlog' as soon as a log.mgk file is loaded if that is - desired. This should not be much of a problem because loading a - log.mgk file is the first thing that the library attempts to do. - This change is made due to users and developers being baffled at - not seeing any log output due to the log output going to the (very - unfriendly) Windows application log. - - - webp: libwebp is updated to the 1.0.3 release. - -2019-12-15 Fojtik Jaroslav <JaFojtik@seznam.cz> - - - magick/nt\_base.c Fix user only installation of Ghostscript. - -2019-12-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - rungm.sh.in (DIRSEP): DIRSEP should always use Unix conventions for - Autotools-based builds. - - - magick/module.h ("C"): Eliminiate redundant and conflicting - ListModuleInfo() prototype. - - - coders/miff.c (ReadMIFFImage): Eliminate warnings in trace - statements. - - - coders/dib.c (DecodeImage): Eliminate warnings in trace - statements. - - - coders/bmp.c (DecodeImage): Eliminate warnings in trace - statements. - - - magick/studio.h (SupportMagickModules): Fix the preprocessor - logic controlling SupportMagickModules, which became broken for - GCC MinGW-based builds starting in the 1.3.29 release when a - "static" module loader was implemented. Due to an error in the - preprocessor logic, only the "modules" based build was working for - MinGW. Much thanks to Giovanni Remigi for making us aware of this - issue. - -2019-12-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/pict.c (WritePICTImage): Throw a writer exception if the - PICT width limit is exceeded. Fixes SourceForge issue 617 - "heap-buffer-overflow in function EncodeImage of coders/pict.c". - -2019-12-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - jbig: jbigkit is updated to 2.1 release. - - - libxml: libxml2 is updated to 2.9.10 release. - - - bzlib: bzip is updated to 1.0.8 release. - - - zlib: zlib is updated to 1.2.11 release. - - - png: libpng is updated to 1.6.37 release. - -2019-12-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - lcms: lcms2 is updated to 2.9 release. - - - tiff: libtiff is updated to 4.1.0 release. - -2019-11-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (DrawPatternPath): Don't leak memory if - fill\_pattern or stroke\_pattern of cloned draw\_info are not null. - Fixes oss-fuzz issue 18948 "graphicsmagick:coder\_MVG\_fuzzer: - Indirect-leak in CloneImage". - (PrimitiveInfoRealloc): Clear freshly-allocated PrimitiveInfo - memory. - -2019-11-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/attribute.c (GenerateEXIFAttribute): Fix oss-fuzz issue - 17986 "graphicsmagick:coder\_JPG\_fuzzer: Heap-buffer-overflow in - GenerateEXIFAttribute". This problem likely only happens in - 32-bit builds. - -2019-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (ReadMNGImage): Only magnify the image if the - requested magnification methods are supported. - -2019-11-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/compress.c (HuffmanDecodeImage): Fix signed overflow on - range check which leads to heap overflow in 32-bit - applications. Requires a relatively large file input compared with - typical fuzzer files (greater than a megabyte) to trigger. - Problem reported to the graphicsmagick-security mail address by - Justin Tripp on 2019-11-13. - (Ascii85Tuple): Fix thread safety issue by requiring caller to - pass in tuple buffer as an argument and having callers allocate - tuple buffer on the stack. - -2019-11-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/bit\_stream.c: Add restrict declarations to slightly - improve performance and decrease code size. - - - TclMagick/pkgIndex.tcl: Incorporate recommendations from third - problem noted in SourceForge issue #420 "TclMagick issues and - patch". This is supposed to help support using an uninstalled - GraphicsMagick and allow the installation path to contain a space. - - - wand/magick\_wand.c (MagickClearException): Destroy any existing - exception info before re-initializing the exception info or else - there will be a memory leak. - - - TclMagick/generic/libttkcommon.c (myMagickError): Clear - exception from the Wand after it has been reported. Addresses the - fourth problem noted by SourceForge issue #420 "TclMagick issues - and patch". However, MagickClearException() already clears an - exception in the Wand, so a new function is not needed. - - - TclMagick/unix/m4/tcl.m4: Change hard-coded INSTALL path to - point to config/install-sh. Re-generated/updated Autotools stuff - by executing the genconf.sh script. Addresses the first problem - noted by SourceForge issue #420 "TclMagick issues and patch". - -2019-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/pixel\_cache.c (SetNexus): Eliminate warning about - possibly uninitialized variable from primordial GCC 3.4.3. - - - magick/render.c (ConvertPrimitiveToPath): Eliminate warning that - IsClosedSubPath might be used uninitialized. - - - magick/common.h ("MAGICK\_FALLTHROUGH"): Added a - MAGICK\_FALLTHROUGH macro to support the GCC/Clang fallthrough - attribute when the time comes again that it would be useful. - -2019-10-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/pcx.c (ReadPCXImage): Verify that pixel region is not - negative. Assure that opacity channel is initialized to - opaqueOpacity. Update DirectClass representation while - PseudoClass representation is updated. Improve read performance - with uncompressed PCX. - -2019-10-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/xpm.c (ReadXPMImage): Image properties are expected to - appear within the first 512 bytes of the XPM file header. fixes - oss-fuzz 18267 "graphicsmagick:coder\_PICON\_fuzzer: Timeout in - coder\_PICON\_fuzzer". - -2019-10-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - configure.ac: Fix tcmalloc configuration report. - -2019-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/wpg.c (ReadWPGImage): Implement subimage/subrange - support. - - - coders/mat.c (ReadMATImage, ReadMATImageV4): Implement - subimage/subrange support. Should resolve oss-fuzz 14999 - "graphicsmagick/coder\_MAT\_fuzzer: Out-of-memory in - graphicsmagick\_coder\_MAT\_fuzzer". - - - coders/tiff.c (TIFFMapBlob): Fix compile problem if - LOG\_TIFF\_BLOB\_IO is defined. - - - coders/wpg.c (ExtractPostscript): Improve performance. Avoid - temporary files if possible. Avoid additional memory allocations - if possible. Should address oss-fuzz issue 18173 - "graphicsmagick:enhance\_fuzzer: Timeout in enhance\_fuzzer" and - oss-fuzz issue 17714 "graphicsmagick:coder\_WPG\_fuzzer: Timeout in - coder\_WPG\_fuzzer". - -2019-10-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/pnm.c (PNMInteger): Place a generous arbitrary limit on - the amount of PNM comment text to avoid denial of service - opportunity. Fixes oss-fuzz 18162 "Timeout · coder\_PNM\_fuzzer". - -2019-10-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/dps.c (ReadDPSImage): Fix memory leak when OpenBlob() - reports failure. Same as ImageMagick CVE CVE-2019-16709. - -2019-09-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/attribute.c (GenerateEXIFAttribute): Skip - unsupported/invalid format 0. Fixes oss-fuzz issue 17597 - "graphicsmagick:coder\_SFW\_fuzzer: Heap-buffer-overflow in - GenerateEXIFAttribute". - -2019-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - fuzzing/oss-fuzz-build.sh: Change by Alex Gaynor so that the - correct oss-fuzz fuzzing engine should be used. - -2019-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/static.c (OpenModule): Static module loader should use - upper-cased magick string when searching for a module alias. - Fixes SourceForge issue #613 "static module loader is still - case-sensitive". - -2019-09-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - configure.ac: Report status of zstd (FaceBook Zstandard) - compression in configuration summary. - -2019-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (TraceArcPath): Substitute a lineto command when - tracing arc is impossible. Fixes oss-fuzz 10765 - "graphicsmagick/coder\_MVG\_fuzzer: Divide-by-zero in TraceArcPath". - -2019-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (png\_read\_raw\_profile): Fix validation of raw - profile length. Fixes oss-fuzz 16906 - "graphicsmagick:coder\_ICO\_fuzzer: Out-of-memory in - graphicsmagick\_coder\_ICO\_fuzzer". - - - coders/wpg.c (ReallocColormap): Avoid dereferencing a null - pointer if image->colormap is null. Fixes oss-fuzz 17004 - "graphicsmagick:coder\_WPG\_fuzzer: Null-dereference READ in - ReallocColormap". - -2019-09-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/memory.c (MagickRealloc): Add a note that the behavior of - this function is as described for BSD reallocf(3), which is now - appearing in Linux's GNU libc and elsewhere. - -2019-09-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - www/OpenMP.rst: Document the significant OpenMP speed-up which - may be obtained by using an alternate memory allocation library. - Currently 'tcmalloc', 'mtmalloc', and 'umem' are supported as + - magick/magick.c (InitializeMagickSignalHandlers): This private + implementation function is now a static function as it should have + been. + (InitializeMagickEx): New function which may be used in place of + InitializeMagick() to initialize GraphicsMagick. This + initialization function returns an error status value, may update + a passed ExceptionInfo structure with error information, and + provides an options parameter which supports simple bit-flags to + tailor initialization. The signal handler registrations are + skipped if the MAGICK\_OPT\_NO\_SIGNAL\_HANDER flag is set in the options. - - www/INSTALL-unix.rst: Document new --with-tcmalloc option to - enable using Google gperftools tcmalloc library. - - - configure.ac: Add support for using Google gperftools tcmalloc - library via the --with-tcmalloc option. - - - scripts/rst2htmldeco.py: Port to Python 3 syntax and require at - least Python 2.6. - - - scripts/relpath.py: Port to Python 3 syntax and require - at least Python 2.6. - - - scripts/html\_fragments.py: Port to Python 3 syntax and require - at least Python 2.6. - - - scripts/format\_c\_api\_doc.py: Port to Python 3 syntax and require - at least Python 2.6. - -2019-08-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - doc/GraphicsMagick.imdoc: Document gm utility exit status codes. - -2019-08-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (PRIMITIVE\_INFO\_POINTS\_MAX): SIZE\_MAX apparently - rounds up by one when cast to a double on 64-bit systems. Due to - this, and in order to set more rational implementation limits, add - a PRIMITIVE\_INFO\_POINTS\_MAX definition which computes and - constrains the maximum number of PrimitiveInfo entries allowed. - -2019-08-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/attribute.c (GenerateEXIFAttribute): Check that we are - not being directed to read an IFD that we are already parsing and - quit in order to avoid a loop. Addresses oss-fuzz 15753 - "graphicsmagick/coder\_JPEG\_fuzzer: Timeout in - graphicsmagick\_coder\_JPEG\_fuzzer" and 16068 - "graphicsmagick/coder\_SFW\_fuzzer: Timeout in - graphicsmagick\_coder\_SFW\_fuzzer". - - - tests/{constitute.c, drawtest.c, rwblob.c, rwfile.c}: Eliminate - irritating GCC 9 "\_\_builtin\_strncpy' output may be truncated" - warnings due to copying MaxTextExtent-1 characters. Instead - request copying all of the characters and also assure that string - is still null terminated. - - - doc/environment.imdoc: Update documentation pertaining to HOME - and MAGICK\_DEBUG environment variables. - -2019-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/log.c (DestroyLogInfo): Only output text to terminate an - XML format log file if XML format is active. - -2019-08-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (ExtractTokensBetweenPushPop): Previous fix for - non-terminal loop was broken by a last-minute untested edit. - Finally addresses oss-fuzz 15318 "graphicsmagick/coder\_MVG\_fuzzer: - Timeout in graphicsmagick\_coder\_MVG\_fuzzer". - -2019-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - fuzzing/utils.cc (MemoryResource): Lessen the memory limit used - for oss-fuzz testing in order to provide more headroom and margin - for error. - - - magick/render.c (TraceBezier): Detect arithmetic overflow and - return errors via normal error path rather than exiting. Fixes - oss-fuzz 16450 "graphicsmagick:coder\_MVG\_fuzzer: Unexpected-exit - in DefaultFatalErrorHandler". - (PrimitiveInfoRealloc): Implement more paranoid code related to - primitive allocation. - -2019-08-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (DrawStrokePolygon): Handle case where - TraceStrokePolygon() returns NULL. Addresses oss-fuzz 15516 - "graphicsmagick/coder\_MVG\_fuzzer: ASSERT: primitive\_info != - (PrimitiveInfo \*) NULL". - (DrawDashPolygon): Handle case where DrawStrokePolygon() returns - MagickFail. Also needed to address oss-fuzz 15516, since otherwise - test-cases run for a very long time. - (ExtractTokensBetweenPushPop): Fix non-terminal parsing loop. - Addresses oss-fuzz 15318 "graphicsmagick/coder\_MVG\_fuzzer: Timeout - in graphicsmagick\_coder\_MVG\_fuzzer". - -2019-08-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/memory.h (MagickMallocAlignedArray): Add function - attributes for added value and to quench GCC 9 warning with - special build options enabled. - - - magick/deprecate.h (AcquireMemory): Add more function attributes - to quench GCC 9 warning with special build options enabled. - - - magick/attribute.c (GenerateEXIFAttribute): Fix compilation - warning in 32-bit build. - - - coders/dpx.c (AttributeToString): Eliminate annoying warnings - from GCC 9, although the code was correct. - - - coders/msl.c (MSLStartElement): Fix defective opacity percentage - code revealed by GCC 9 warning. - -2019-08-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (ReadMNGImage): Skip coalescing layers if there is - only one layer. Fixes oss-fuzz 16274 - "graphicsmagick/coder\_MNG\_fuzzer: Unexpected-exit in - DefaultFatalErrorHandler". - -2019-08-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (ReadPNGImage): Post-processing to convert the - image type in the PNG reader based on a specified magick prefix - string is now disabled. This can (and should) be done after the - image has been returned. Fixes oss-fuzz 16386 - "graphicsmagick:coder\_PNG8\_fuzzer: Timeout in - graphicsmagick\_coder\_PNG8\_fuzzer". - -2019-07-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - NEWS.txt: Updates in preparation for 1.3.33 release. - -2019-07-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - NEWS.txt: Updated NEWS to reflect updates since last release. - -2019-07-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (WriteOnePNGImage): Fix saving to palette when - image has an alpha channel but no color is marked as transparent. - Patch submitted by Przemysław Sobala via SourceForge patch #61 - "WriteOnePNGImage(): Fix saving to palette when image has an alpha - channel but no color is marked as transparent". - - - doc/options.imdoc (characters): Fix -format documentation to - reflect that '%r' returns the image type. Patch submitted by - Przemysław Sobala via SourceForge patch #60 "Fix documentation - typo". - -2019-07-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/tempfile.c (AcquireTemporaryFileDescriptor): Fix - compilation under Cygwin. Patch by Marco Atzeri and submitted via - email to the graphicsmagick-help mailing list on Fri, 5 Jul 2019. - -2019-06-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/attribute.c (GenerateEXIFAttribute): Added range checks - and tracing. Fixes oss-fuzz 14998 - "graphicsmagick/coder\_JPEG\_fuzzer: Heap-buffer-overflow in - Read32s". This is a tiny read overflow. - - - coders/miff.c (ReadMIFFImage): Similar fix as to mpc.c - - - coders/mpc.c (ReadMPCImage): Fix faulty signed overflow logic - for profiles[i].length which still allowed overflow. Fixes - oss-fuzz issue 15190 "graphicsmagick/coder\_MPC\_fuzzer: - Out-of-memory in graphicsmagick\_coder\_MPC\_fuzzer". - - - doc/options.imdoc: Add notes about security hazards due to - commands which support a '@filename' syntax. - - - www/security.rst: Add notes about security hazards due to - commands which support a '@filename' syntax. - -2019-06-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (DrawImage): Assure that 'token' is initialized. - Fixes oss-fuzz issue 14897 "graphicsmagick/coder\_MVG\_fuzzer: - Use-of-uninitialized-value in DrawImage". - - - magick/animate.c (MagickXAnimateImages): Fix memory leak of - scene\_info.pixels. - - - magick/display.c (MagickXDisplayImage): Fix heap overwrite of - windows->image.name and windows->image.icon\_name buffers. It - appears that the code assumed that CloneString() would always - allocated a string at least MaxTextExtent in size. I assume that - this issue has existed for a very long time since CloneString() - was re-written many years ago. - - - coders/caption.c (ReadCAPTIONImage): The CAPTION reader did not - appear to work at all any more. Now it works again, but still not - very well. +2020-02-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/command.c: Re-implement '@' file inclusion support for - -comment, -draw, -format, and -label which was removed for the - 1.3.32 release. Note that arguments from untrusted sources will - still need to be sanitized to detect attempts to subvert this - feature to access file data, but this feature has always been - supported by GraphicsMagick and it originated early in the - development of ImageMagick. + - magick/magick.c (MagickToMime): Add a MIME translation for + "jpg". Issue reported by Pro Turm. -2019-06-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-02-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/utility.c (MagickStrlCat, MagickStrlCpy): Add debug - checks enabled by MAGICK\_STRL\_CHECK. + - www/INSTALL-windows.rst: Add quoting to avoid losing backslashes + in Windows paths. - - magick/montage.c (MontageImages): Fix wrong length argument to - strlcat() when building montage directory, which could allow heap - overwrite. +2020-02-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/png.c (RegisterPNGImage): Pass correct size value to - strlcat(). Under Apple's OS X (and possibly other targets) - strlcat() writes bytes beyond what it needs to (but within the - range it is allowed to) causing a crash due to the wrong limit - value. Fixes SourceForge issue #609 `gm identify foo.png` crashes - on macOS (v 1.3.32). + - magick/common.h: Add missing unsupported handling for some + recently added GCC/Clang attributes. - - www/Changes.rst: Update ChangeLog links due to new year, and - 1.3.32 release. + - magick/: Move all remaining private implementation code in + public headers which is guarded by MAGICK\_IMPLEMENTATION into + private headers, which are never installed. -2019-06-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-02-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/bmp.c (WriteBMPImage): Detect arithmetic overflow of - image\_size. Add more tracing. Reduce compilation warnings. - (EncodeImage): Reduce compilation warnings. - (WriteBMPImage): Assure that chromaticity uses double-precision - for multiply before casting to unsigned integer. + - coders/tiff.c (WriteTIFFImage): Evidence suggests that large + strip sizes improve performance by reducing the number of I/Os. + The defaults suggested by libtiff are way to small for today's + images and computers. Default TIFF strip sizes so that each + uncompressed strip consumes up to 1MiB of memory, or 4MiB for FAX + oriented codecs, or based on LZMA compression level when using + LZMA compression. The default size may be adjusted via the + TIFF\_BYTES\_PER\_STRIP preprocessor definition. - - coders/wpg.c (ReallocColormap): Reduce compilation warnings. +2020-02-09 Fojtik Jaroslav <JaFojtik@seznam.cz> - - coders/braille.c (WriteBRAILLEImage): Reduce compilation - warnings. + - coders/wpg.c ZeroFillMissing data will never been triggered when + y>=image->rows. - - coders/dib.c (WriteDIBImage): Detect arithmetic overflow of - image\_size. Reduce compilation warnings. - (EncodeImage): Reduce compilation warnings. +2020-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/locale.c (WriteLOCALEImage): Reduce compilation warnings. + - magick/render.c (DrawImage): Limit pattern dimensions by + LONG\_MAX rather than ULONG\_MAX since this seems more likely to + avoid arithmetic overflows later on. -2019-06-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-02-09 Fojtik Jaroslav <JaFojtik@seznam.cz> - - Makefile.am (dist-zstd): Use the maximum possible compression - level (22) when creating a Zstd-compressed tarball to get close to - lzip/xz compression levels. + - coders/wpg.c Check for exception in image. - - coders/tiff.c (ReadTIFFImage): Fix typo in initialization of - 'tile' pointer variable. +2020-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - version.sh: Updates in preparation for 1.3.32 release. + - magick/command.c (VersionCommand): Add Google perftools tcmalloc + to the available feature support. -2019-06-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - www/INSTALL-unix.rst: Include some information about building + with MSYS2. - - Makefile.am (release): Add a release target to make it easier to - produce and sign the release files. Add a zstd-compressed output - tarball just because we can. + - coders/png.c (ReadOnePNGImage): Eliminate compilation warnings + about signed/unsigned comparisons. -2019-06-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick/image.c: Remove private global string constants, and one + private global unsigned long constant, from the library ABI. + Since the global constants were declared via a private header and + only used within the GraphicsMagick build, removing these does not + impact the public ABI. The globals removed are BackgroundColor, + BorderColor, DefaultTileFrame, DefaultTileGeometry, + DefaultTileLabel, ForegroundColor, HighlightColor, MatteColor, + PSDensityGeometry, PSPageGeometry, and DefaultCompressionQuality. - - magick/render.c (DrawImage): Fix typo when initializing - number\_coordinates. Somehow GCC and clang let this typo slip by. +2020-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> -2019-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick/render.c (DrawImage): Apply draconian pattern + specification offset and dimension validations. Hopefully there + is no impact to usability. If so please report it as a bug. + Fixes oss-fuzz 20586 "graphicsmagick:coder\_MVG\_fuzzer: + Integer-overflow in DrawPolygonPrimitive". - - coders/dib.c (ReadDIBImage): Preserve PseudoClass opaque - representation if ICO mask is opaque, otherwise return a - DirectClass image. + - coders/svg.c (ReadSVGImage): Fix dereference of NULL pointer + when stopping image timer. -2019-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-02-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/render.c (DrawImage): Detect an error in TracePath() and - quit rather than forging on. + - coders/pict.c (DecodeImage): Allocate extra scanline memory to + allow small RLE overrun. Fixes oss-fuzz 20271 + "graphicsmagick:coder\_PICT\_fuzzer: Heap-buffer-overflow in + ExpandBuffer" and 20272 "graphicsmagick:coder\_PICT\_fuzzer: + Heap-buffer-overflow in DecodeImage". -2019-06-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - PerlMagick/t/wmf/read.t: Update WMF reference images. Relax + test requirements for ski.wmf. - - magick/render.c (DrawImage): Terminate drawing if - DrawCompositeMask() reports failure. Fixes oss-fuzz 12373 - "graphicsmagick/coder\_MVG\_fuzzer: Timeout in - graphicsmagick\_coder\_MVG\_fuzzer". - (TracePath): Terminate path parsing upon first parsing error. + - locale/C.mgk: Correct error message associated with + "UnsupportedNumberOfRows". Patch was submitted by Thorsten + Alteholz via private email on 2020-02-05. -2019-06-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-02-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/txt.c (ReadTXTImage): Use real a new-line character as - line delimiter rather than '\n' string. + - coders/topol.c: Include magick/magick\_endian.h. - - magick/annotate.c (AnnotateImage): No longer implicitly call - TranslateText() since this is not suitable for most use-cases and - causes additional performance impact. The API user can perform - such translations in advance on the text string using - TranslateText() if need be. No longer call StringToList() to - split strings into an array of strings since this can lead to - unexpected results, and a custom-splitter is more efficient. +2020-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> -2019-06-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick, coders, wand: Added copious casts to avoid possible + integer overflows in the Microsoft Windows 64-bit build, where + sizeof(long) < sizeof(size\_t). - - magick/render.c (DrawImage): Only support '@filename' syntax to - read drawing primitive from a file if we are not already drawing. +2020-01-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/utility.c (TranslateTextEx): Remove support for reading - from a file using '@filename' syntax due to security concerns. - Problem was reported to us by "Battle Furry" via the - GraphicsMagick security mail alias on June 6, 2019. + - magick/render.h ("PrimitiveInfo"): Change PrimitiveInfo + coordinates from type 'unsigned long' to 'size\_t'. -2019-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-01-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/utility.c (SetClientFilename): Reduce initialized data - some more. + - magick/gradient.c (GradientImage): Warnings reduction, plus note + about incorrect diagonal gradients math. -2019-06-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-01-20 Fojtik Jaroslav <JaFojtik@seznam.cz> - - magick/nt\_base.c: Search for n019003l.pfb (the "Helvetica"-like - font) rather than fonts.dir since fonts.dir is not present in all - URW font collections. + - VisualMagick\configure\configure.cpp Option /arch:SSE2 is + available only for 32 bit build. - - NEWS.txt: Update news. +2020-01-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> -2019-06-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/pcd.c (DecodeImage): Assure that pcd\_length gets + initialized with something. - - coders/logo.c: Tidy logo image definitions, and logo image - output. + - Magick++/lib/Options.cpp (strokeDashArray): Add needless check + for \_drawInfo->dash\_pattern null in order to make static analysis + happy. -2019-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick/render.c (DestroyPolygonInfo): Make sure to not + dereference a null edges pointer. - - coders/mat.c: Make more data const. + - coders/pdb.c (WritePDBImage): Make sure that null comment value + is not dereferenced. -2019-05-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/vid.c (ReadVIDImage): Make sure that + ThrowVIDReaderException does not dereference a null pointer. - - magick/animate.c: Reduce initialized static allocations. + - magick/quantize.c (ClassifyImageColors): Fix error handling so a + null pointer won't be consumed after a memory allocation failure. + Changed the location of some variable declarations and added some + comments. - - magick/display.c: Reduce initialized static allocations. +2020-01-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/widget.c (MagickSplitNDLTextToList): Add static - implementation function. - -2019-05-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/webp.c (RegisterWEBPImage): Use sprintf to format version - since snprintf is not available in old Visual Studio. - -2019-05-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/dcm.c: Make more data const. - - - www/INSTALL-unix.rst: Add documentation for how to install URW - fonts from various package management systems. - -2019-05-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - www/authors.rst: Add authorship attribution to Samuel Thibault - for contributing support for the Braille image format. - - - coders/braille.c: Add support for Braille image format by Samuel - Thibault. Patch submitted via SourceForge patch #59 "Add braille - image format support. - -2019-05-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/tempfile.c: Make more data const. - - - magick/signature.c: Make more data const. - - - magick/quantize.c: Make more data const. - - - magick/attribute.c: Make more data const. - - - coders/png.c: Make more data const. - - - coders/mpeg.c: Make more data const. - - - coders/wmf.c: Make more data const. - - - coders/tile.c: Make more data const. - -2019-05-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/enum\_strings.c: Make more data const. - -2019-05-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/magick.c: Make more data const. - - - magick/type.c (GetTypeInfoByFamily): Make more data const. - - - magick/unix\_port.c (MagickGetMMUPageSize): Decrease initialized - data. - - - magick/utility.c (GetPageGeometry): Make more data const. - - - coders/pdf.c (WritePDFImage): Allocate working buffer on stack - and pass as argument to EscapeParenthesis() to eliminate a thread - safety problem and also reduce BSS size. - - - coders/webp.c (RegisterWEBPImage): Fix compiler warning. - - - coders/jbig.c (RegisterJBIGImage): Make more data const. - - - coders/pict.c (DecodeImage): Allocate output buffer used by - ExpandBuffer() on the stack rather than as static data private to - ExpandBuffer(). Eliminates a thread safety problem and also - reduces BSS size. - - - coders/webp.c (RegisterWEBPImage): Reduce BSS size. - -2019-05-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/jp2.c: Make more data const. - - - coders/wmf.c: Make more data const. - - - coders/ps.c (WritePSImage): Make more data const. - - - coders/ps2.c (WritePS2Image): Make more data const. - -2019-05-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/static.c: Revert to previous 'name' storage. Callback - functions in structure block being properly const. - - - coders/xpm.c: Make more data const. - - - coders/pnm.c: Make more data const. - - - coders/palm.c: Make more data const. - - - coders/meta.c: Make more data const. - - - coders/dcraw.c: Make more data const. - - - magick/command.c: Fix compilation problem when HasX11 is not - defined. - -2019-05-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/command.c: Make more data const. - -2019-05-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/webp.c (RegisterWEBPImage): Make more data const. - - - coders/svg.c (RegisterSVGImage): Reduce BSS size. - - - coders/miff.c (RegisterMIFFImage): Fix version reporting. - - - coders/ttf.c (RegisterTTFImage): Fixed reporting of FreeType - version. - - - coders/tiff.c (RegisterTIFFImage): Reduce BSS size. - - - coders/sfw.c (ReadSFWImage): Make SFW static data completely - const. - - - coders/ps3.c: Make PS3 static data completely const. - - - coders/pict.c: Make PICT static data completely const. - - - magick/error.c (ThrowException, ThrowLoggedException): Handle - the case where some passed character strings refer to existing - exception character strings. Fixes SourceForge issue #603 - "heap-use-after-free in function ThrowLoggedException of - magick/error.c". - (CatchException): Restructure so there is one return point. - - - coders/miff.c (ImportRLEPixels): Fix heap overflow caused by a - typo in the code. Also fix undefined behavior caused by large - left shifts of an unsigned char. Fixes SourceForge issue #608 - "heap-buffer-overflow in ImportRLEPixels of coders/miff.c. - -2019-05-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/bmp.c (ReadBMPImage): Fix subrange/scene handling in - 'ping' mode so it is like the other formats. Only the first frame - was being enumerated while in 'ping' mode. - -2019-05-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - NEWS.txt: Update news. - - - magick/utility.c (ExpandFilenames): Only expand '@filename' to a - list of arguments read from 'filename' if the path '@filename' - does not exist. This fix is made based on an email posting to the - 'graphicsmagick-help' mailing list at SourceForge by "Test User" - on Tue, 7 May 2019. - -2019-05-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/colorspace.c: Reorder initialization of colorspace tables - for a possible performance improvement. - - - magick/fx.c (WaveImage): Use float for sin map. - - - configure.ac: Test for float versions of math functions. - - - magick/gem.c (GenerateDifferentialNoise): Use float versions of - math functions when available. - -2019-05-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - www/INSTALL-unix.rst: Expanded configure documentation for - --with-modules. Added specific configure documentation for - --with-umem and --with-mtmalloc, which may be useful on - Solaris-derived systems. - -2019-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/command.c (VersionCommand): Show OpenMP specification - version corresponding to version enumeration. - - - magick/locale.c (GetLocaleMessageFromTag): Eliminate clang - warning about comparison with a constant value. - - - magick/log.c (InitializeLogInfo): Initialize LogInfo log\_configured. - -2019-04-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/magic.c (struct): Ajust StaticMagic definition to be more - const-friendly. - - - magick/color\_lookup.c (struct): Adjust StaticColors definition - to be more const-friendly. - - - magick/attribute.c: Ajust tag\_table definition to be more - const-friendly. - - - magick/log.c: Allocate LogInfo from heap as we used to do. - - - magick/locale.c (GetLocaleMessageFromTag): Adaptations to locale - coder output changes. - - - coders/locale.c (WriteLOCALEImage): Adjust locale coder output - to be more const. - -2019-04-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/color\_lookup.c: Make built-in color tables fully const. - - - magick/animate.c: Use MagickXTextViewWidgetNDL() to display help - text. - - - magick/display.c: Use MagickXTextViewWidgetNDL() to display help - text. - - - magick/widget.c (MagickXTextViewWidgetNDL): New private function - to display multi-line null-delimited text in an X11 widget. - - - coders/xwd.c (ReadXWDImage): Added even more XWD header - validation logic. Addresses problems noted by email from Hongxu - Chen to the graphicsmagick-security mail alias on Fri, 19 Apr 2019 - and Sat, 20 Apr 2019 and entitled "Multiple crashes (FPE and - invalid read) when processing XWD files". - -2019-04-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/xwd.c (ReadXWDImage): Added even more XWD header - validation logic. Addresses problems noted by email from Hongxu - Chen to the graphicsmagick-security mail alias on Wed, 17 Apr 2019 - and entitled "Multiple crashes (FPE and invalid read) when - processing XWD files". Also addresses additional issues noted - that an attacker could request to allocate an arbitrary amount of - memory based on ncolors and the claimed header size. - -2019-04-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/xwd.c (ReadXWDImage): Add more XWD header validation - logic. Addresses problems noted by email from Hongxu Chen to the - graphicsmagick-security mail alias on Sun, 14 Apr 2019 and - entitled "Multiple crashes (FPE and invalid read) when processing - XWD files". - -2019-04-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/pdb.c (WritePDBImage): Assure that input scanline is - cleared in order to cover up some decoder bug. May fix 14215 - "graphicsmagick/coder\_PDB\_fuzzer: Use-of-uninitialized-value in - WritePDBImage", which I have not been able to reproduce. - - - magick/render.c (DrawPrimitive): Check primitive point x/y - values for NaN. - (DrawImage): Fix oss-fuzz issue 14173 - "graphicsmagick/coder\_MVG\_fuzzer: Integer-overflow in DrawImage". - - - magick/pixel\_cache.c (SetNexus): Fix oss-fuzz issue 14208 - "graphicsmagick/coder\_MVG\_fuzzer: Integer-overflow in SetNexus". - -2019-04-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/display.c: Add even more const declarations. - - - coders/mat.c (WriteMATLABImage): Add completely missing error - handling. Fixes SourceForge issue #604 "heap-buffer-overflow in - function WriteMATLABImage of coders/mat.c". - -2019-04-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/pdb.c (WritePDBImage): Fix SourceForge issue #605 - "heap-buffer-overflow in function WritePDBImage of coders/pdb.c". - - - magick/widget.c: Add many const declarations. - - - magick/display.c: Incorporate and eliminate display.h. Add many - const declarations. - - - magick/animate.c: Incorporate and eliminate animate.h. Add many - const declarations. - -2019-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/wmf.c (ReadWMFImage): Reject WMF files with an empty - bounding box. Fixes SourceForge issue #606 "Division by Zero in - coders/wmf.c". - -2019-04-07 Fojtik Jaroslav <JaFojtik@seznam.cz> - - - magick/nt\_base.c Fix a problem of finding ghostscript fonts. - Variable "font\_dir" was useless and thus removed. No need to copy - text multiple times. Use const char gs\_font\_dir[] instead of - pointer. - -2019-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/xwd.c (ReadXWDImage): Perform more header validations and - a file size validation in order to reject files with bogus - headers. - (WriteXWDImage): Fix SourceForge issue #599 - "heap\_buffer\_overflow\_WRITE in function WriteXWDImage of - coders/xwd.c". - -2019-04-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/svg.c (SVGStartElement): Fix stack buffer overflow while - parsing quoted font family value. Fixes SourceForge issue #600 - "stack-buffer-overflow in function SVGStartElement of - coders/svg.c". - - - coders/miff.c (ReadMIFFImage): Detect end of file while reading - RLE packets. Fixes SourceForge issue #598 "heap-buffer-overflow - in function ReadMIFFImage of coders/miff.c". - -2019-04-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/xwd.c (ReadXWDImage): Fix heap buffer overflow while - reading DirectClass XWD file. Fixes SourceForge issue #597 - "heap-buffer-overflow in function ReadXWDImage of coders/xwd.c". - -2019-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (ReadMNGImage): Fix small buffer overflow (one - PixelPacket) of image colormap. Fixes SourceForge issue #596 - "heap-buffer-overflow in function CloneImage of magick/image.c". - - - magick/colormap.c (ReallocateImageColormap): New function to - reallocate an image colormap. - - - coders/logo.c: Make more static data const. - - - magick/module\_aliases.h: Make more static data const. - - - magick/static.c: Make more static data const. - -2019-04-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/log.c (LogMagickEventList): Log elapsed time with - microsecond precision. - -2019-03-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/mpc.c (ReadMPCImage): Deal with a profile length of zero, - or an irrationally large profile length. Fixes SourceForge issue - #601 "memory leak in function ReadMPCImage of coders/mpc.c ". - - - magick/xwindow.c (MagickXGetWindowInfo): Deal with the unlikely - case that the memory allocation for window->segment\_info - fails. Fixes SourceForge #595 "use allocate memory before null - check" as pertains to magick/xwindow.c. - - - magick/segment.c (Classify): Add check for memory allocation - failure when allocating cluster array. Fixes SourceForge #595 "use - allocate memory before null check" as pertains to - magick/segment.c. - - - coders/pdb.c (ReadPDBImage): Fix use of allocated memory before - null check. Fixes SourceForge #595 "use allocate memory before - null check" as pertains to coders/pdb.c. - -2019-03-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/pixel\_cache.c (AllocateThreadViewSet): Simplify the image - view model by adding NexusInfo to the View structure (rather than - referencing it via a pointer) to lessen the number of required - per-thread allocations and to improve locality of reference. - -2019-03-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/wpg.c (WPG1\_Palette): Change to a static declaration. - - - coders/dcm.c: dicom\_info array is now fully in the data segment. - -2019-03-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/caption.c (ReadCAPTIONImage): Assure that metrics are + initialized. - - configure.ac: Add support for using the Solaris mtmalloc - library. This is primarily for testing or as an alternative to - Solaris umem. - Stop using posix\_memalign() until it is uniformly more mature and - reliably quick. + - magick/pixel\_cache.c (DestroyThreadViewSet): Check if views + pointer is not null before destroying views. -2019-03-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/xpm.c (ReadXPMImage): Properly detect the case where the + XPM colormap is not fully initialized. - - magick/pixel\_cache.c (SetNexus): Smallest staging-area - allocation is cache line size so declare it as such. + - coders/pict.c (DecodeImage): Fix heap buffer over-reads. Fixes + oss-fuzz issue 20053 "graphicsmagick:coder\_PICT\_fuzzer: + Heap-buffer-overflow in ExpandBuffer" and oss-fuzz issue 20048 + "graphicsmagick:coder\_PICT\_fuzzer: Heap-buffer-overflow in + DecodeImage". Both of these oss-fuzz issues appeared due to + recent changes since the last release. - - magick/fx.c: Functions in the fx module which return a new Image - should return a null Image if an exception was thrown. Also, - assure that user has an opportunity to see the exception which was - thrown. + - coders/meta.c (WriteMETAImage): Assure that 'iptc\_offset' is + initialized and valid. - - magick/error.c (ThrowLoggedException): Throwing an exception is - now thread-safe. + - coders/jpeg.c (ReadJPEGImage): Assure that evaluating the + embedded profile length does not suffer from undefined behavior. - - magick/pixel\_cache-private.h: Moved pixel cache private - definitions to private header. +2020-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> -2019-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick/render.c (DrawImage): Add more MVG parser validations. - - magick/pixel\_cache.c (SetNexus): Pass x, y, columns, and rows - rather than a pointer to RectangleInfo. This should be easier to - inline on modern CPUs. +2020-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> -2019-03-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/histogram.c (WriteHISTOGRAMImage): Histogram coder was + relying on the previously removed '@' file inclusion feature to + insert the histogram comment text. Write a PseudoClass MIFF image + with RLE compression. Fixes SourceForge issue #622 "Histogram + produces incorrect color table attribute ". - - magick/pixel\_cache.c (SetNexus): Cache resource limits in - CacheInfo rather than repeatedly calling into the resource code in - order to lessen the overhead of performing resource limit checks - on the pixel cache views. + - magick/pixel\_cache.c (ModifyCache): Re-open the pixel cache if + the cache rows/columns do not match the owning image rows/columns. - - magick/resource.c (AcquireMagickResource): Use a lock for each - resource in order to lessen contention. Return a maximum 64-bit - integer value if the resource has not been limited. Previously - returned -1 in this case but this was not documented. + - magick/transform.c (TransformImage): TransformImage now returns + a MagickPassFail return status value rather than void. -2019-03-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/pict.c (ReadPICTImage): Fix some over-strict validations + which were preventing some PICT files which were previously read + successfully from being accepted. Fix problems which occurred when + the clipping rectangle changed the image size. Improve reading + embedded JPEG blobs. Now successfully reads all raster PICT files + I have available. - - magick/import.c (ImportViewPixelArea): If range between max and - min is less than MagickEpsilon, produce a black image rather than - throwing an exception. +2020-01-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/mat.c (ReadMATImage): Fix memory leak on unexpected end - of file. Fixes oss-fuzz 13556 "graphicsmagick/coder\_MAT\_fuzzer: - Direct-leak in ReadMATImage". (Credit to OSS-Fuzz) + - coders/pict.c (ReadPICTImage): Be more strict about PICT + rectangle by treating rectangle dimensions as if they are a 16-bit + signed type and not allowing negative values. Avoid GCC warnings + which sprung up similar to "warning: comparison is always false + due to limited range of data type". -2019-03-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-01-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - coders/mat.c (ReadMATImage): Quit if image scanlines are not - fully populated due to exception. Fixes oss-fuzz 13530 - "graphicsmagick/coder\_MAT\_fuzzer: Use-of-uninitialized-value in - InsertComplexFloatRow". (Credit to OSS-Fuzz) + - coders/sfw.c (ReadSFWImage): Restore a DestroyImage() statement + which was accidentally deleted by recent edits. Fixes oss-fuzz + "Issue 19819 in oss-fuzz: graphicsmagick:coder\_SFW\_fuzzer: + Indirect-leak in AllocateImage". -2019-03-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/png.c (WriteOneJNGImage): Detect when JPEG encoder has + failed, and throw exception. Fix image dimension limit + validations. Stop discarding exception report. Fixes SourceForge + bug #621 "Assertion in WriteBlob at magick/blob.c:4937" which was + reported by Suhwan Song. - - coders/txt.c (ReadTXTImage): Don't start new line if x\_max < - x\_min. Avoids calling SetImagePixels() with a width of zero. - Related to oss-fuzz 13521 "graphicsmagick/coder\_TEXT\_fuzzer: - Floating-point-exception in SetNexus". (Credit to OSS-Fuzz) + - coders/pict.c (WritePICTImage): Eliminating small buffer overrun + when run-length encoding pixels. Fixes SourceForge bug #620 + "heap-buffer-overflow in EncodeImage at coders/pict.c:1114" which + was reported by Suhwan Song. - - magick/pixel\_cache.c (SetNexus): Report error for empty region - rather than crashing due to divide by zero exception. This is a - new bug due to yesterday's changes. Fixes oss-fuzz 13521 - "graphicsmagick/coder\_TEXT\_fuzzer: Floating-point-exception in - SetNexus". (Credit to OSS-Fuzz) + - coders/logo.c (ReadLOGOImage): PATTERN error handling was + incomplete. Add appropriate error handling. + (ReadLOGOImage): Switch to using ConstituteTextureImage() rather + than TextureImage() since it is more appropriate for this purpose. + (ReadLOGOImage): Oops! Accidental change of behavior. When size + is not supplied, simply return the pattern image. -2019-03-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-01-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - design/pixel-cache.dot: Update design dot diagram to remove - IsNexusInCore and add CompositeCacheNexus. + - coders/\*.c (ReadFOOImage): Stop image timer just before + returning from reader so that reported timings are correct when + used in the future. - - magick/pixel\_cache.c (SetNexus): Apply resource limits to pixel - nexus allocations using the same limits (total pixels, width, - height, memory) as applied to the whole image since some requests - are directly influenced by the input file. Add yet more tests for - arithmetic overflow. Whole source module is re-arranged so that - static functions are in order of dependency so that forward - prototype declarations are no longer needed. Fixes oss-fuzz 13210 - "graphicsmagick/coder\_MVG\_fuzzer: Integer-overflow in - SetNexus". (Credit to OSS-Fuzz) +2020-01-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> -2019-03-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick/timer.c (StartTimer): Expose previously existing + StartTimer() function. + (StopTimer): Expose previously existing StartTimer() function. - - magick/pixel\_cache.c (OpenCache): Use unsigned 64-bit value to - store CacheInfo offset and length as well as for the total pixels - calculation. Add some more arithmetic overflow detections. + - magick/constitute.c (WriteImage): Don't over-write time-stamp + when output is to INFO format. - - coders/topol.c (ReadTOPOLImage): Report a corrupt image - exception "Unexpected end-of-file" if reader encounters end of - file while reading header rows. Addresses oss-fuzz 7981 - "graphicsmagick/coder\_TOPOL\_fuzzer: Use-of-uninitialized-value in - InsertRow". (Credit to OSS-Fuzz) +2020-01-03 Fojtik Jaroslav <JaFojtik@seznam.cz> - - coders/mat.c (ReadMATImage): Report a corrupt image exception - "Unexpected end-of-file" if reader encounters end of file while - reading scanlines. Also added some helpful traces. Hopefully - addresses oss-fuzz 13445 "graphicsmagick/coder\_MAT\_fuzzer: - Use-of-uninitialized-value in IsGrayImage". (Credit to OSS-Fuzz) + - VisualMagick\configure\configure.exe: Should not depend on mfcr90.dll. + It is too bad when end user cannot run this tool because of missing DLL. -2019-02-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - VisualMagick\configure\configure.cpp Make speed optimisation as default + option. - - magick/image.h ("C"): Include as "magick/image-private.h" as the - other headers are. - ("C"): Include "magick/image-private.h" inside the protective - MAGICK\_IMPLEMENTATION guard, as it should have been. This error - broke the oss-fuzz build. + - VisualMagick\configure\configure.vcproj Give different filename to debug + build to avoid accidental committing debug build to repository. -2019-02-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> +2020-01-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - magick/image-private.h (\_ImageExtra): Put ImageExtra definition - in a private header file so that its definition may be accessed - directly by library internals. Add some accessor macros to - provide access and update code to use them. + - coders/dpx.c (GenerateDPXTimeStamp): Use reentrant localtime\_r() + function if it is available. - - coders/wpg.c (ReallocColormap): Make sure that there is not a - heap overwrite if the number of colors has been reduced. Thanks - to Jaroslav Fojtik for giving me a heads up about this. + - magick/log.c (LogMagickEventList): Use reentrant + localtime\_r() function if it is available. -2019-02-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/cineon.c (GenerateCineonTimeStamp): Use reentrant + localtime\_r() function if it is available. - - magick/monitor.c (MagickMonitorActive): Add new private function - to test if a progress monitor is active. Update all progress - monitor code in loops to use this information, while also updating - code to hopefully address concerns expressed by Hongxu Chen about - data races on the graphicsmagick-bugs mailing list starting on - February 6, 2019. - -2019-02-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/mpc.c (ReadMPCImage): Tally directory length to avoid - death by strlen(). - - - coders/miff.c (ReadMIFFImage): Tally directory length to avoid - death by strlen(). Fixes oss-fuzz 13190 - "graphicsmagick/coder\_MIFF\_fuzzer: Timeout in - graphicsmagick\_coder\_MIFF\_fuzzer". (Credit to OSS-Fuzz) - -2019-02-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/svg.c (ReadSVGImage): Don't call xmlCleanupParser() - in module code since this may cause other libxml users to fail. + - coders/mat.c (WriteMATLABImage): Use reentrant localtime\_r() + function if it is available. - - coders/msl.c (ProcessMSLScript): Don't call xmlCleanupParser() - in module code since this may cause other libxml users to fail. - - - magick/render.c (DrawDashPolygon): (DrawDashPolygon): Don't read - beyond end of dash pattern array. This is a second instance of - issue identified by SourceForge issue #591. Fixes oss-fuzz 13160 - "graphicsmagick/coder\_MVG\_fuzzer: Heap-buffer-overflow in - DrawDashPolygon". The earlier attempt to fix this problem today - broke dash patterns entirely. (Credit to OSS-Fuzz) - - - magick/annotate.c (RenderFreetype): Eliminate memory leak of - GlyphInfo.image (type FT\_Glyph) while rendering some FreeType - fonts such as the one we use now in the Magick++ test suite. - -2019-02-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/render.c (DrawDashPolygon): Avoid reading one beyond - length of dash pattern array, which is terminated by value 0.0. - Fixes SourceForge issue #591 "Heap buffer overflow in - DrawDashPolygon when parsing SVG images". - (DrawPrimitive): Add arithmetic overflow checks when converting - computed coordinates from 'double' to 'long'. - (DrawImage): Don't destroy draw\_info in graphic\_context when - draw\_info has not been allocated yet. Problem reported via email - by Sami Supperi on Thu, 14 Feb 2019. - - - coders/jpeg.c (ReadJPEGImage): JPEG files are observed to - provide compression ratios as high as 2500 so allow for that. - Also, the test for "Unreasonable dimensions" delivered yesterday - was flawed since magick\_rows and magick\_columns are only set if a - desired image size was provided. Fixes SourceForge issue 592 - "Non-malicious JPEG file fails with "Unreasonable dimensions"". - - - coders/tiff.c (ReadTIFFImage): Only disassociate alpha channel - for images where photometic is PHOTOMETRIC\_RGB. Fixes oss-fuzz - 13115 "graphicsmagick/coder\_PTIF\_fuzzer: - Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to - OSS-Fuzz) + - coders/pdf.c (WritePDFImage): Use reentrant localtime\_r() + function if it is available. -2019-02-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/ps.c (WritePSImage): Use reentrant ctime\_r() function + if it is available. - - coders/jpeg.c (ReadJPEGImage): Base test for "Unreasonable - dimensions" on original JPEG dimensions and not the scaled - dimensions. Fixes SourceForge issue 593 "gm convert: Insufficient - image data in file when hinting input image". - -2019-02-13 Troy Patteson <troyp@ieee.org> + - coders/ps2.c (WritePS2Image): Use reentrant ctime\_r() function + if it is available. - - PerlMagick/Magick.xs (Mogrify): Add decorate argument to Annotate. + - coders/ps3.c (WritePS3Image): Use reentrant ctime\_r() function + if it is available. - - PerlMagick/Magick.xs (Mogrify): Remove reference to undefined - Annotate argument. + - configure.ac: Test for getpwnam\_r(). -2019-02-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - magick/utility.c (ExpandFilename): Use reentrant getpwnam\_r() + function if it is available. - - coders/tiff.c (ReadTIFFImage): For planar TIFF, make sure that - pixels are initialized in case some planes are missing. Fixes - oss-fuzz 13046 "graphicsmagick/coder\_PTIF\_fuzzer: - Use-of-uninitialized-value in DisassociateAlphaRegion". (Credit to - OSS-Fuzz) + - magick/magick.c (InitializeMagickSignalHandlers): Use the normal + termination signal handler for SIGXCPU and SIGXFSZ so that ulimit + or setrlimit(2) may be used to apply CPU (RLIMIT\_CPU) and output + file size (RLIMIT\_FSIZE) limits with the normal cleanup, and + without dumping core. Note that any output files currently being + written may be truncated and files being written by external + programs (e.g. Ghostscript) might be left behind unless they are + to a temporary file assigned by GraphicsMagick. -2019-02-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/xpm.c (ReadXPMImage): Promote a color-lookup + warning to an error. - - coders/pdf.c (WritePDFImage): Make sure to free 'xref' before - returning. Similar to ImageMagick CVE-2019-7397 "In ImageMagick - before 7.0.8-25, several memory leaks exist in WritePDFImage in - coders/pdf.c.". Thanks to Petr Gajdos for bringing this issue to - our attention. + - coders/xc.c (ReadXCImage): Promote a color-lookup + warning to an error. -2019-02-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> + - coders/null.c (ReadNULLImage): Promote a color-lookup + warning to an error. - - coders/wpg.c (ReadWPGImage): Use a different way to reallocate - the colormap which preserves existing content, but also updates - image->colors and assures that added palette entries are - initialized. + - Makefile.am: Rotate ChangeLogs for the new year. - - coders/png.c (ReadMNGImage): Bound maximum loop iterations by - subrange as a primitive means of limiting resource consumption. - This should finally resolve oss-fuzz 12738 - "graphicsmagick/enhance\_fuzzer: Out-of-memory in - graphicsmagick\_enhance\_fuzzer". (Credit to OSS-Fuzz) - - - coders/tiff.c (ReadTIFFImage): Assure that opacity channel is - initialized in the RGBAStrippedMethod case. Convert - 'CorruptImageError' encountered while testing for more frames to - 'CorruptImageWarning' so we return the frames already read. - Second try at fixing oss-fuzz 11896 - "graphicsmagick/coder\_PTIF\_fuzzer: Use-of-uninitialized-value in - VerticalFilter". - - - coders/dpx.c (AttributeToString): Eliminate clang - "-Wstring-plus-int" warning observed in oss-fuzz build. - - - coders/cineon.c (AttributeToString): Eliminate clang - "-Wstring-plus-int" warning observed in oss-fuzz build. - -2019-02-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/pict.c (DecodeImage): Avoide a one-byte over-read of - pixels heap allocation. The cause of the over-read is not yet - understood. Fixes oss-fuzz 12019 - "graphicsmagick/coder\_PICT\_fuzzer: Heap-buffer-overflow in - ExpandBuffer". (Credit to OSS-Fuzz) - - - coders/wpg.c (ReadWPGImage): Assure that all colormap entries - are initialized. Fixes oss-fuzz 12614 - "graphicsmagick/enhance\_fuzzer: Use-of-uninitialized-value in - EnhanceImage". (Credit to OSS-Fuzz) - - - coders/tiff.c (ReadTIFFImage): Make sure that image is in - DirectClass mode and ignore any claimed colormap when the image is - read using the RGBAStrippedMethod, RGBATiledMethod, or - RGBAPuntMethod cases. Fixes oss-fuzz 12195 - "graphicsmagick/coder\_PTIF\_fuzzer: Use-of-uninitialized-value in - ExportGrayQuantumType". (Credit to OSS-Fuzz) - - - coders/miff.c (ReadMIFFImage): Improve pixel buffer calculations - to defend against overflow. Assure that zlib and bzlib decode the - expected number of bytes for a pixel row. Fixes oss-fuzz issue - 12448 "graphicsmagick/coder\_MIFF\_fuzzer: - Use-of-uninitialized-value in RGBTransformPackets". (Credit to - OSS-Fuzz) - -2019-02-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/png.c (ReadMNGImage): Quit processing and report error - upon failure to insert MNG background layer. Fixes oss-fuzz 12738 - "graphicsmagick/enhance\_fuzzer: Out-of-memory in - graphicsmagick\_enhance\_fuzzer". (Credit to OSS-Fuzz) - -2019-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/dib.c (ReadDIBImage, WriteDIBImage): Improve buffer-size - calculations to guard against buffer overflows. The reader - version was not as complete as it should have been, whereas the - writer version did not guard against arithmetic overflow at all. - - - coders/bmp.c (ReadBMPImage, WriteBMPImage): Improve buffer-size - calculations to guard against buffer overflows. This is a - follow-on fix to the previous fix submitted for SourceForge issue - #582 "heap-buffer-overflow in ReadBMPImage of bmp.c" which is now - also identified as CVE-2018-20185. - - - www/Hg.rst: Updates to reflect current usage and availability. - - - www/authors.rst: Promote Troy Patteson to the active contributor - category. - -2019-02-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/version.h.in: Rotate ChangeLog and update copyright - statements for the new year. - -2019-01-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - coders/webp.c (WriteWEBPImage): Patch by Przemysław Sobala to - support WebP 'use\_sharp\_yuv' option ("if needed, use sharp (and - slow) RGB->YUV conversion") via `-define webp:use-sharp-yuv=true`. - -2019-01-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> - - - magick/pixel\_cache.c (SetNexus): Merge IsNexusInCore() - implementation code into SetNexus() and add check for if - cache\_info->pixels is null. Fixes SourceForge issue #588 "Bug in - IsNexusInCore()". - - - configure.ac (DcrawExtraOptions): Request TIFF output from dcraw - if build supports TIFF format in order to obtain more metadata. - This allows obtaining some metadata from standard TIFF tags - (e.g. camera make, model, and dcraw version), and any attached ICC - profile, but not specifically EXIF data since we don't support - extracting EXIF data from TIFF yet. Inspired by SourceForge issue - 589 "Identify lack of data (no Exif) in RAW formats". + - coders/gradient.c (ReadGRADIENTImage): Promote a color-lookup + warning to an error. diff --git a/www/Changes.html b/www/Changes.html index 69c6817..25cf8c2 100644 --- a/www/Changes.html +++ b/www/Changes.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>GraphicsMagick Change Logs</title> <meta content="GraphicsMagick is a robust collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats including GIF, JPEG, PNG, PDF, and WebP. With GraphicsMagick you can create GIFs dynamically making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format. " name="description" /> <meta content="GraphicsMagick, GM, PerlMagick, Perl Magick, Perl Magic, image processing, software development, TclMagick, Magick++" name="keywords" /> @@ -43,7 +43,8 @@ <p>The following are the <tt class="docutils literal">GraphicsMagick</tt> change logs since 2001:</p> <blockquote> <ul class="simple"> -<li><a class="reference external" href="Changelog.html">2019</a> (1.3.32, 1.3.33, 1.3.34 released)</li> +<li><a class="reference external" href="Changelog.html">2020</a> (1.3.35 released)</li> +<li><a class="reference external" href="ChangeLog-2019.html">2019</a> (1.3.32, 1.3.33, 1.3.34 released)</li> <li><a class="reference external" href="ChangeLog-2018.html">2018</a> (1.3.28, 1.3.29, 1.3.30, 1.3.31 released)</li> <li><a class="reference external" href="ChangeLog-2017.html">2017</a> (1.3.26, 1.3.27, 1.3.27a released)</li> <li><a class="reference external" href="ChangeLog-2016.html">2016</a> (1.3.24, 1.3.25 released)</li> @@ -65,7 +66,7 @@ </ul> </blockquote> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/Changes.rst b/www/Changes.rst index 15c53ef..f740b7b 100644 --- a/www/Changes.rst +++ b/www/Changes.rst @@ -21,7 +21,8 @@ GraphicsMagick Change Logs image processing, software development, TclMagick, Magick++ .. _GraphicsMagick : index.html -.. _2019 : Changelog.html +.. _2020 : Changelog.html +.. _2019 : ChangeLog-2019.html .. _2018 : ChangeLog-2018.html .. _2017 : ChangeLog-2017.html .. _2016 : ChangeLog-2016.html @@ -43,6 +44,8 @@ GraphicsMagick Change Logs The following are the ``GraphicsMagick`` change logs since 2001: + * 2020_ (1.3.35 released) + * 2019_ (1.3.32, 1.3.33, 1.3.34 released) * 2018_ (1.3.28, 1.3.29, 1.3.30, 1.3.31 released) @@ -86,4 +89,4 @@ The following are the ``GraphicsMagick`` change logs since 2001: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/Copyright.html b/www/Copyright.html index 07710dd..b6fa70e 100644 --- a/www/Copyright.html +++ b/www/Copyright.html @@ -51,7 +51,7 @@ to changing one line of code.</em>]</blockquote> <li><p class="first">In November 2002, the GraphicsMagick Group created GraphicsMagick from ImageMagick Studio's ImageMagick and applied the "MIT" style license:</p> -<p>Copyright (C) 2002 - 2019 GraphicsMagick Group</p> +<p>Copyright (C) 2002-2020 GraphicsMagick Group</p> <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, diff --git a/www/FAQ.html b/www/FAQ.html index 29e240a..591d2ba 100644 --- a/www/FAQ.html +++ b/www/FAQ.html @@ -792,7 +792,7 @@ seaworld.jpg JPEG 1530x1020+0+0 DirectClass 8-bit 204.0K 0.000u 0:01 </pre> <p>but with -verbose it can report on a large number of properties.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/FAQ.rst b/www/FAQ.rst index 976cd95..76ddf88 100644 --- a/www/FAQ.rst +++ b/www/FAQ.rst @@ -773,4 +773,4 @@ but with -verbose it can report on a large number of properties. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/GraphicsMagick.html b/www/GraphicsMagick.html index bdb391e..41432db 100644 --- a/www/GraphicsMagick.html +++ b/www/GraphicsMagick.html @@ -1538,6 +1538,17 @@ to an different interpretation of the standard, or getting the wires crossed. The swap-samples option may be supplied when reading or writing in order to read or write using the necessary sample order. </dd> +<dt>gradient:direction={South|North|West|East|NorthWest|NorthEast|SouthWest|SouthEast}</dt> +<dd>By default, the gradient coder produces a gradient from top to +bottom ("South"). Since GraphicsMagick 1.3.35, the gradient direction +may be specified to produce gradient vectors according to a +gravity-like specification. The arguments are <strong>South</strong> (Top to +Bottom), <strong>North</strong> (Bottom to Top), <strong>West</strong> (Right to Left), +<strong>East</strong> (Left to Right), <strong>NorthWest</strong> (Bottom-Right to +Top-Left), <strong>NorthEast</strong> (Bottom-Left to Top-Right), +<strong>SouthWest</strong> (Top-Right Bottom-Left), and <strong>SouthEast</strong> +(Top-Left to Bottom-Right). +</dd> <dt>jp2:rate=<value></dt> <dd>Specify the compression factor to use while writing JPEG-2000 files. The compression factor is the reciprocal of the compression @@ -6447,7 +6458,7 @@ color="#00B04F"><font size="+1"> <table width="94%" border="0" cellspacing="0" cellpadding="8"> <tr><td width="3%"><br></td><td> <p> -<strong>Copyright (C) 2002 - 2018 GraphicsMagick Group.</strong> Additional +<strong>Copyright (C) 2002 - 2020 GraphicsMagick Group.</strong> Additional copyrights apply. Please see see http://www.GraphicsMagick.org/Copyright.html for details. <p> @@ -6459,6 +6470,6 @@ http://www.GraphicsMagick.org/Copyright.html for details. [<a href="index.html">Home</a>] [<a href="utilities.html">Utilities Index</a>] <BR> -<p align=center <a href="Copyright.html">Copyright © GraphicsMagick Group 2002 - 2018</a></p></td> +<p align=center <a href="Copyright.html">Copyright © GraphicsMagick Group 2002 - 2020</a></p></td> </tr></table> </body></html> diff --git a/www/Hg.html b/www/Hg.html index e2326c2..015f99f 100644 --- a/www/Hg.html +++ b/www/Hg.html @@ -255,7 +255,7 @@ notified by email of changes when they occur.</p> <li><a class="reference external" href="https://www.mercurial-scm.org/wiki/TipsAndTricks#Keep_.22My.22_or_.22Their.22_files_when_doing_a_merge">Keep "My" or "Their" files when doing a merge</a></li> </ul> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2012 - 2019</p> +<p>Copyright © GraphicsMagick Group 2012 - 2020</p> </div> </div> </body> @@ -239,4 +239,4 @@ Mercurial Topics .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2012 - 2019 +Copyright |copy| GraphicsMagick Group 2012 - 2020 diff --git a/www/INSTALL-unix.html b/www/INSTALL-unix.html index 3f67099..daf59d5 100644 --- a/www/INSTALL-unix.html +++ b/www/INSTALL-unix.html @@ -3,8 +3,8 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> -<title>UNIX/Cygwin/MinGW Compilation</title> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> +<title>UNIX/Cygwin/MinGW/MSYS2 Compilation</title> <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> </head> <body> @@ -32,8 +32,8 @@ <li><a href="reference.html">Reference</a></li> </ul> </div> -<div class="document" id="unix-cygwin-mingw-compilation"> -<h1 class="title">UNIX/Cygwin/MinGW Compilation</h1> +<div class="document" id="unix-cygwin-mingw-msys2-compilation"> +<h1 class="title">UNIX/Cygwin/MinGW/MSYS2 Compilation</h1> <!-- -*- mode: rst -*- --> <!-- This text is in reStucturedText format, so it may look a bit odd. --> @@ -47,7 +47,7 @@ </ul> </li> <li><a class="reference internal" href="#building-under-cygwin" id="id5">Building under Cygwin</a></li> -<li><a class="reference internal" href="#building-under-mingw-msys" id="id6">Building under MinGW & MSYS</a><ul> +<li><a class="reference internal" href="#building-under-mingw-msys2" id="id6">Building under MinGW & MSYS2</a><ul> <li><a class="reference internal" href="#cross-compilation-on-unix-linux-host" id="id7">Cross-compilation On Unix/Linux Host</a></li> </ul> </li> @@ -902,10 +902,25 @@ be possible to catch C++ exceptions thrown from DLLs. The test suite <tt class="docutils literal">make check</tt> includes several tests to verify that C++ exceptions are working properly.</p> </div> -<div class="section" id="building-under-mingw-msys"> -<h1><a class="toc-backref" href="#id6">Building under MinGW & MSYS</a></h1> -<p>GraphicsMagick may be built using the free MinGW ("Minimalistic GNU for -Windows") package, available from</p> +<div class="section" id="building-under-mingw-msys2"> +<h1><a class="toc-backref" href="#id6">Building under MinGW & MSYS2</a></h1> +<p>GraphicsMagick may easily be built using the free <a class="reference external" href="https://www.msys2.org/">MSYS2</a> distribution which provides GCC compilers, +libraries, and headers, targeting native Windows along with a +Unix-like command shell and a package manager ('Pacman') to install +pre-compiled components. Using the pre-compiled packages, it is +almost as easy to compile GraphicsMagick under MSYS2 as it is under +Linux!</p> +<p>When using MSYS2, requesting to install these packages using 'pacman +-S' (in addition to compilation tools for C/C++) should result in +getting up to speed very quicky with a featureful build:</p> +<p>mingw-w64-x86_64-bzip2, mingw-w64-x86_64-freetype, +mingw-w64-x86_64-ghostscript, mingw-w64-x86_64-jbigkit, +mingw-w64-x86_64-lcms2, mingw-w64-x86_64-libjpeg-turbo, +mingw-w64-x86_64-libpng, mingw-w64-x86_64-libtool, +mingw-w64-x86_64-libwebp mingw-w64-x86_64-libwmf, +mingw-w64-x86_64-libxml2, mingw-w64-x86_64-zlib</p> +<p>GraphicsMagick may also be built using the free MinGW +("Minimalistic GNU for Windows") package, available from</p> <blockquote> <a class="reference external" href="http://www.mingw.org/">http://www.mingw.org/</a></blockquote> <p>or from</p> @@ -1135,7 +1150,7 @@ the developer's environment environment and your own may include the compiler, the CPU type, and the library versions used. The GraphicsMagick developers use the current release of all dependent libraries.</p> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/INSTALL-unix.rst b/www/INSTALL-unix.rst index fa8e0d6..8fa01ca 100644 --- a/www/INSTALL-unix.rst +++ b/www/INSTALL-unix.rst @@ -2,9 +2,9 @@ .. This text is in reStucturedText format, so it may look a bit odd. .. See http://docutils.sourceforge.net/rst.html for details. -============================= -UNIX/Cygwin/MinGW Compilation -============================= +=================================== +UNIX/Cygwin/MinGW/MSYS2 Compilation +=================================== .. contents:: :local: @@ -818,11 +818,30 @@ be possible to catch C++ exceptions thrown from DLLs. The test suite ``make check`` includes several tests to verify that C++ exceptions are working properly. -Building under MinGW & MSYS ---------------------------- +Building under MinGW & MSYS2 +---------------------------- -GraphicsMagick may be built using the free MinGW ("Minimalistic GNU for -Windows") package, available from +GraphicsMagick may easily be built using the free `MSYS2 +<https://www.msys2.org/>`_ distribution which provides GCC compilers, +libraries, and headers, targeting native Windows along with a +Unix-like command shell and a package manager ('Pacman') to install +pre-compiled components. Using the pre-compiled packages, it is +almost as easy to compile GraphicsMagick under MSYS2 as it is under +Linux! + +When using MSYS2, requesting to install these packages using 'pacman +-S' (in addition to compilation tools for C/C++) should result in +getting up to speed very quicky with a featureful build: + +mingw-w64-x86_64-bzip2, mingw-w64-x86_64-freetype, +mingw-w64-x86_64-ghostscript, mingw-w64-x86_64-jbigkit, +mingw-w64-x86_64-lcms2, mingw-w64-x86_64-libjpeg-turbo, +mingw-w64-x86_64-libpng, mingw-w64-x86_64-libtool, +mingw-w64-x86_64-libwebp mingw-w64-x86_64-libwmf, +mingw-w64-x86_64-libxml2, mingw-w64-x86_64-zlib + +GraphicsMagick may also be built using the free MinGW +("Minimalistic GNU for Windows") package, available from http://www.mingw.org/ @@ -1083,4 +1102,4 @@ libraries. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/INSTALL-windows.html b/www/INSTALL-windows.html index a03e72c..c69dabb 100644 --- a/www/INSTALL-windows.html +++ b/www/INSTALL-windows.html @@ -60,7 +60,7 @@ <li><a class="reference internal" href="#installing-from-source-code" id="id16">Installing From Source Code</a><ul> <li><a class="reference internal" href="#applicability" id="id17">Applicability</a></li> <li><a class="reference internal" href="#important-notes" id="id18">Important Notes</a></li> -<li><a class="reference internal" href="#windows-xp-vista-7-visual-c-6-0-through-14-0-compilation" id="id19">Windows XP, Vista, 7 Visual C++ 6.0 through 14.0 Compilation</a></li> +<li><a class="reference internal" href="#windows-xp-vista-7-visual-c-6-0-through-19-0-compilation" id="id19">Windows XP, Vista, 7 Visual C++ 6.0 through 19.0 Compilation</a></li> <li><a class="reference internal" href="#environment-variables" id="id20">Environment Variables</a></li> <li><a class="reference internal" href="#windows-distribution-build-procedure" id="id21">Windows Distribution Build Procedure</a></li> </ul> @@ -94,8 +94,8 @@ Fonts") to support the standard set of Adobe Postscript fonts like "Helvetica" and "Times Roman" if these fonts are not available as TrueType fonts. The Ghostscript fonts need to manually installed with administrator privileges in the Ghostscript installation -directory (e.g. as "C:Program Filesgsfonts" or "C:Program -Filesgsgs9.27fonts").</p> +directory (e.g. as <tt class="docutils literal"><span class="pre">C:\Program</span> Files\gs\fonts</tt> or <tt class="docutils literal">C:Program +Files\gs\gs9.27\fonts</tt>).</p> <p>The algorithm used to find the fonts consults the Windows registry to learn Ghostscript installation paths, and then looks for a "fonts/n019003l.pfb" file in each path until it finds a match.</p> @@ -179,23 +179,17 @@ options:</p> <li>Create a desktop icon</li> <li>Update executable search path</li> <li>Associate supported file extensions with GraphicsMagick</li> -<li>Install ImageMagickObject OLE Control for VBscript, Visual Basic, -and WSH.</li> </ul> <p>"Creating a desktop icon" and "Update the executable search path" are selected by default. The remaining options default to un-selected. Select the options you prefer.</p> -<p>Think twice before selecting "<em>Associate supported file extensions with -GraphicsMagick</em>" since this will set up approximately fifty file -associations, including common formats like JPEG, GIF, PNG, TIFF, and -PDF. These file associations will be to the 'gmdisplay' program which -is suitable for displaying images, but currently offers little more -than that. Windows XP seems to handle the file associations pretty -well, allowing you to choose from a list of programs, but older systems -like Windows NT 4.0 and Windows '98 only support a single association -per format, which can be quite annoying. Associations for -GraphicsMagick's native formats (such as <a class="reference external" href="miff.html">MIFF</a>) will -always be made.</p> +<p>Think twice before selecting "<em>Associate supported file extensions +with GraphicsMagick</em>" since this will set up approximately fifty +file associations, including common formats like JPEG, GIF, PNG, +TIFF, and PDF. These file associations will be to the 'gmdisplay' +program which is suitable for displaying images, but currently +offers little more than that. Associations for GraphicsMagick's +native formats (such as <a class="reference external" href="miff.html">MIFF</a>) will always be made.</p> <p>Once you have made your selections, click on "<em>Next></em>" to continue.</p> </blockquote> </div> @@ -254,13 +248,9 @@ functionality. Always remove an installed GraphicsMagick via its uninstall function since manually removing it (such as by removing its installation directory) will leave behind the registry entries and path settings established at install time.</p> -<p>Under Windows '95 and Windows '98, use the "<em>Uninstall</em>" entry in the -GraphicsMagick portion of the Windows start menu to initiate the -uninstall.</p> -<p>On NT 4.0 and 5.X -based systems, GraphicsMagick should be removed via -the "<em>Add or Remove Programs</em>" area of the Windows Control Panel. Select -the GraphicsMagick package from the list, and click on "<em>Change/Remove</em>" -to uninstall it.</p> +<p>GraphicsMagick should be removed via the "<em>Add or Remove Programs</em>" +area of the Windows Control Panel. Select the GraphicsMagick package +from the list, and click on "<em>Change/Remove</em>" to uninstall it.</p> </blockquote> </div> <div class="section" id="use-from-another-package-or-program"> @@ -338,9 +328,10 @@ installed</td> <h2><a class="toc-backref" href="#id17">Applicability</a></h2> <blockquote> This section provides instructions for building GraphicsMagick -Microsoft Windows using the Visual C++ (Visual Studio, etc.) IDE. For -building using the free Cygwin or MinGW compilers, follow the -instructions in INSTALL-unix.txt.</blockquote> +Microsoft Windows using the Visual C++ (Visual Studio, etc.) +IDE. For building using the free Cygwin or MinGW compilers (e.g. as +part of <a class="reference external" href="https://www.msys2.org/">MSYS2</a>), follow the instructions +in INSTALL-unix.txt.</blockquote> </div> <div class="section" id="important-notes"> <h2><a class="toc-backref" href="#id18">Important Notes</a></h2> @@ -353,21 +344,21 @@ then adjust the settings for the module which failed and disable optimization, and the problem is likely to go away (but with less performance).</blockquote> </div> -<div class="section" id="windows-xp-vista-7-visual-c-6-0-through-14-0-compilation"> -<h2><a class="toc-backref" href="#id19">Windows XP, Vista, 7 Visual C++ 6.0 through 14.0 Compilation</a></h2> +<div class="section" id="windows-xp-vista-7-visual-c-6-0-through-19-0-compilation"> +<h2><a class="toc-backref" href="#id19">Windows XP, Vista, 7 Visual C++ 6.0 through 19.0 Compilation</a></h2> <blockquote> <p>The Visual C++ distribution targeted at Windows 2000 through Windows -8 does not provide any stock workspace (DSW) or project files (DSP) +10 does not provide any stock workspace (DSW) or project files (DSP) except for those included with third party libraries. Instead, there is a "configure" program that must run to create build environments to satisfy various requirements.</p> -<p>The configure program resides in VisualMagickconfigure in the +<p>The configure program resides in <tt class="docutils literal">VisualMagick\configure</tt> in the GraphicsMagick source tree. A pre-compiled configure.exe is provided, as well as Visual Studio project files to recompile it from source code if needed.</p> <p>Once started, the configure program provides this configuration dialog after proceeding past the initial notifications screen:</p> -<img alt="Configure program screen shot" class="align-center" src="configure-target-setup.png" style="width: 512.0px; height: 485.0px;" /> +<img alt="Configure program screen shot" class="align-center" src="configure-target-setup.png" style="width: 498.0px; height: 473.0px;" /> <p>In addition to (or as a replacement to) the above dialog, the configure.exe program supports these command-line options:</p> <dl class="docutils"> @@ -405,9 +396,9 @@ distribution is built using #1 from above with the X11 libraries excluded. This results build using all DLL's for everything and multi-threaded support (the only option for DLL's).</p> <p>To do a build for your requirements, simply go to the configure sub- -directory under VisualMagick and open the configure.dsw workspace (for -Visual C++ 6.0) or configure.sln (for Visual C++ 7.X or 8.X). Set the -build configuration to "Release" under the</p> +directory under VisualMagick and open the configure.dsw workspace +(for Visual C++ 6.0) or configure.sln (for Visual C++ 7.X through +9.X). Set the build configuration to "Release" under the</p> <blockquote> "Build..., Set Active Configuration..." menu.</blockquote> <p>Build and execute the configure program and follow the on-screen @@ -788,7 +779,7 @@ double-clicking from Windows Explorer.<ol class="loweralpha"> <tt class="docutils literal"><span class="pre">GM\VisualMagick\bin\GraphicsMagick-1.3-Q8-dll.exe</span></tt></li> </ol> </blockquote> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </div> diff --git a/www/INSTALL-windows.rst b/www/INSTALL-windows.rst index 07bf8b0..93460e6 100644 --- a/www/INSTALL-windows.rst +++ b/www/INSTALL-windows.rst @@ -39,8 +39,8 @@ Prerequisites "Helvetica" and "Times Roman" if these fonts are not available as TrueType fonts. The Ghostscript fonts need to manually installed with administrator privileges in the Ghostscript installation - directory (e.g. as "C:\Program Files\gs\fonts" or "C:Program - Files\gs\gs9.27\fonts"). + directory (e.g. as ``C:\Program Files\gs\fonts`` or ``C:Program + Files\gs\gs9.27\fonts``). The algorithm used to find the fonts consults the Windows registry to learn Ghostscript installation paths, and then looks for a @@ -130,24 +130,17 @@ Select Additional Tasks * Associate supported file extensions with GraphicsMagick - * Install ImageMagickObject OLE Control for VBscript, Visual Basic, - and WSH. - "Creating a desktop icon" and "Update the executable search path" are selected by default. The remaining options default to un-selected. Select the options you prefer. - Think twice before selecting "*Associate supported file extensions with - GraphicsMagick*" since this will set up approximately fifty file - associations, including common formats like JPEG, GIF, PNG, TIFF, and - PDF. These file associations will be to the 'gmdisplay' program which - is suitable for displaying images, but currently offers little more - than that. Windows XP seems to handle the file associations pretty - well, allowing you to choose from a list of programs, but older systems - like Windows NT 4.0 and Windows '98 only support a single association - per format, which can be quite annoying. Associations for - GraphicsMagick's native formats (such as `MIFF <miff.html>`_) will - always be made. + Think twice before selecting "*Associate supported file extensions + with GraphicsMagick*" since this will set up approximately fifty + file associations, including common formats like JPEG, GIF, PNG, + TIFF, and PDF. These file associations will be to the 'gmdisplay' + program which is suitable for displaying images, but currently + offers little more than that. Associations for GraphicsMagick's + native formats (such as `MIFF <miff.html>`_) will always be made. Once you have made your selections, click on "*Next>*" to continue. @@ -207,14 +200,9 @@ Uninstall installation directory) will leave behind the registry entries and path settings established at install time. - Under Windows '95 and Windows '98, use the "*Uninstall*" entry in the - GraphicsMagick portion of the Windows start menu to initiate the - uninstall. - - On NT 4.0 and 5.X -based systems, GraphicsMagick should be removed via - the "*Add or Remove Programs*" area of the Windows Control Panel. Select - the GraphicsMagick package from the list, and click on "*Change/Remove*" - to uninstall it. + GraphicsMagick should be removed via the "*Add or Remove Programs*" + area of the Windows Control Panel. Select the GraphicsMagick package + from the list, and click on "*Change/Remove*" to uninstall it. Use From Another Package or Program ----------------------------------- @@ -266,9 +254,10 @@ Applicability ------------- This section provides instructions for building GraphicsMagick - Microsoft Windows using the Visual C++ (Visual Studio, etc.) IDE. For - building using the free Cygwin or MinGW compilers, follow the - instructions in INSTALL-unix.txt. + Microsoft Windows using the Visual C++ (Visual Studio, etc.) + IDE. For building using the free Cygwin or MinGW compilers (e.g. as + part of `MSYS2 <https://www.msys2.org/>`_), follow the instructions + in INSTALL-unix.txt. Important Notes --------------- @@ -281,16 +270,16 @@ Important Notes optimization, and the problem is likely to go away (but with less performance). -Windows XP, Vista, 7 Visual C++ 6.0 through 14.0 Compilation +Windows XP, Vista, 7 Visual C++ 6.0 through 19.0 Compilation ------------------------------------------------------------ The Visual C++ distribution targeted at Windows 2000 through Windows - 8 does not provide any stock workspace (DSW) or project files (DSP) + 10 does not provide any stock workspace (DSW) or project files (DSP) except for those included with third party libraries. Instead, there is a "configure" program that must run to create build environments to satisfy various requirements. - The configure program resides in VisualMagick\configure in the + The configure program resides in ``VisualMagick\configure`` in the GraphicsMagick source tree. A pre-compiled configure.exe is provided, as well as Visual Studio project files to recompile it from source code if needed. @@ -299,8 +288,8 @@ Windows XP, Vista, 7 Visual C++ 6.0 through 14.0 Compilation dialog after proceeding past the initial notifications screen: .. image:: configure-target-setup.png - :height: 485px - :width: 512px + :height: 473px + :width: 498px :scale: 100% :alt: Configure program screen shot :align: center @@ -349,9 +338,9 @@ Windows XP, Vista, 7 Visual C++ 6.0 through 14.0 Compilation multi-threaded support (the only option for DLL's). To do a build for your requirements, simply go to the configure sub- - directory under VisualMagick and open the configure.dsw workspace (for - Visual C++ 6.0) or configure.sln (for Visual C++ 7.X or 8.X). Set the - build configuration to "Release" under the + directory under VisualMagick and open the configure.dsw workspace + (for Visual C++ 6.0) or configure.sln (for Visual C++ 7.X through + 9.X). Set the build configuration to "Release" under the "Build..., Set Active Configuration..." menu. @@ -779,4 +768,4 @@ Windows Distribution Build Procedure .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/ImageMagickObject.html b/www/ImageMagickObject.html index b09f9a9..398e8b7 100644 --- a/www/ImageMagickObject.html +++ b/www/ImageMagickObject.html @@ -126,7 +126,7 @@ working.</p> <p>Sometime in the future, MagickCMD may assume the place of gm.exe in the "utils" distribution in order to decrease the overall package size.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/ImageMagickObject.rst b/www/ImageMagickObject.rst index 20cf034..dbcc5c8 100644 --- a/www/ImageMagickObject.rst +++ b/www/ImageMagickObject.rst @@ -127,4 +127,4 @@ Sometime in the future, MagickCMD may assume the place of gm.exe in the .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/Magick++/Blob.html b/www/Magick++/Blob.html index 7fa1825..e0f4d86 100644 --- a/www/Magick++/Blob.html +++ b/www/Magick++/Blob.html @@ -115,7 +115,7 @@ public: }; </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/Blob.rst b/www/Magick++/Blob.rst index 5c45ee9..0e1c2a3 100644 --- a/www/Magick++/Blob.rst +++ b/www/Magick++/Blob.rst @@ -89,4 +89,4 @@ The following is the definition of the Magick::Blob class:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/CoderInfo.html b/www/Magick++/CoderInfo.html index 63b5970..fbce6ab 100644 --- a/www/Magick++/CoderInfo.html +++ b/www/Magick++/CoderInfo.html @@ -114,7 +114,7 @@ namespace Magick }; } </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/CoderInfo.rst b/www/Magick++/CoderInfo.rst index d0260df..8ac1d0a 100644 --- a/www/Magick++/CoderInfo.rst +++ b/www/Magick++/CoderInfo.rst @@ -85,4 +85,4 @@ The definition of class 'Magick::CoderInfo' is:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Color.html b/www/Magick++/Color.html index 9447bd4..54b52ca 100644 --- a/www/Magick++/Color.html +++ b/www/Magick++/Color.html @@ -377,7 +377,7 @@ public: }; </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </div> </body> diff --git a/www/Magick++/Color.rst b/www/Magick++/Color.rst index 6209288..c9d3b42 100644 --- a/www/Magick++/Color.rst +++ b/www/Magick++/Color.rst @@ -313,4 +313,4 @@ television transmission). Argument ranges are .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Drawable.html b/www/Magick++/Drawable.html index 5337504..b29da8d 100644 --- a/www/Magick++/Drawable.html +++ b/www/Magick++/Drawable.html @@ -1117,7 +1117,7 @@ PathArcRel ( const PathArcArgs &coordinates_ ); <pre class="literal-block"> PathArcRel ( const PathArcArgsList &coordinates_ ); </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </div> </div> diff --git a/www/Magick++/Drawable.rst b/www/Magick++/Drawable.rst index 4538f92..65279be 100644 --- a/www/Magick++/Drawable.rst +++ b/www/Magick++/Drawable.rst @@ -1051,4 +1051,4 @@ Draw multiple arc segments:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Enumerations.html b/www/Magick++/Enumerations.html index fdacec8..ab813b0 100644 --- a/www/Magick++/Enumerations.html +++ b/www/Magick++/Enumerations.html @@ -1314,7 +1314,7 @@ enumeration may be specified for a wildcard match.</p> </tr> </tbody> </table> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </div> </body> diff --git a/www/Magick++/Enumerations.rst b/www/Magick++/Enumerations.rst index 4e9c710..d4dd4f3 100644 --- a/www/Magick++/Enumerations.rst +++ b/www/Magick++/Enumerations.rst @@ -679,4 +679,4 @@ enumeration may be specified for a wildcard match. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Exception.html b/www/Magick++/Exception.html index fde01e1..864ff47 100644 --- a/www/Magick++/Exception.html +++ b/www/Magick++/Exception.html @@ -294,7 +294,7 @@ subordinate program is missing (but is needed).</td> </table> <p>Note that <em>ErrorMissingDelegate</em> is a "catch-all" error reported when GraphicsMagick is unable to figure out how to open the file.</p> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/Exception.rst b/www/Magick++/Exception.rst index 4c1a872..85b3f66 100644 --- a/www/Magick++/Exception.rst +++ b/www/Magick++/Exception.rst @@ -180,4 +180,4 @@ GraphicsMagick is unable to figure out how to open the file. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/FormatCharacters.html b/www/Magick++/FormatCharacters.html index fb8563d..c0383a7 100644 --- a/www/Magick++/FormatCharacters.html +++ b/www/Magick++/FormatCharacters.html @@ -101,7 +101,7 @@ table:</p> </tr> </tbody> </table> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/FormatCharacters.rst b/www/Magick++/FormatCharacters.rst index aa1a096..0e260e8 100644 --- a/www/Magick++/FormatCharacters.rst +++ b/www/Magick++/FormatCharacters.rst @@ -38,4 +38,4 @@ table: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Geometry.html b/www/Magick++/Geometry.html index 813f0bc..5575e6e 100644 --- a/www/Magick++/Geometry.html +++ b/www/Magick++/Geometry.html @@ -420,7 +420,7 @@ public: }; </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </div> </body> diff --git a/www/Magick++/Geometry.rst b/www/Magick++/Geometry.rst index dff6f27..c4c6647 100644 --- a/www/Magick++/Geometry.rst +++ b/www/Magick++/Geometry.rst @@ -236,4 +236,4 @@ The following is the definition of the Magick::Geometry class:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Image.html b/www/Magick++/Image.html index aaa6d72..ad00ae4 100644 --- a/www/Magick++/Image.html +++ b/www/Magick++/Image.html @@ -3005,7 +3005,7 @@ buffer or file. Used to support image encoders:</p> void writePixels ( const QuantumType quantum_, unsigned char *destination_ ) </pre> -<p>Copyright © <a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">Bob Friesenhahn</a> 1999 - 2019</p> +<p>Copyright © <a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">Bob Friesenhahn</a> 1999 - 2020</p> </div> </div> </div> diff --git a/www/Magick++/Image.rst b/www/Magick++/Image.rst index 9975b7c..820d14d 100644 --- a/www/Magick++/Image.rst +++ b/www/Magick++/Image.rst @@ -2823,4 +2823,4 @@ buffer or file. Used to support image encoders:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| `Bob Friesenhahn`_ 1999 - 2019 +Copyright |copy| `Bob Friesenhahn`_ 1999 - 2020 diff --git a/www/Magick++/ImageDesign.html b/www/Magick++/ImageDesign.html index caad12a..1dcf0a9 100644 --- a/www/Magick++/ImageDesign.html +++ b/www/Magick++/ImageDesign.html @@ -49,7 +49,7 @@ reference count on the old image becomes zero, then the associated reference and data are deleted. This strategy represents a simple (but effective) form of garbage collection.</p> <img alt="Figure showing Image class design" src="Image.png" style="width: 910px; height: 490px;" /> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/ImageDesign.rst b/www/Magick++/ImageDesign.rst index 31ca511..d22d15e 100644 --- a/www/Magick++/ImageDesign.rst +++ b/www/Magick++/ImageDesign.rst @@ -24,4 +24,4 @@ effective) form of garbage collection. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Montage.html b/www/Magick++/Montage.html index 9287885..91d2ced 100644 --- a/www/Magick++/Montage.html +++ b/www/Magick++/Montage.html @@ -201,7 +201,7 @@ public: }; </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </div> </body> diff --git a/www/Magick++/Montage.rst b/www/Magick++/Montage.rst index 22dfda9..dcb534b 100644 --- a/www/Magick++/Montage.rst +++ b/www/Magick++/Montage.rst @@ -197,4 +197,4 @@ The following is the definition of the Magick::MontageFramed class:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/PixelPacket.html b/www/Magick++/PixelPacket.html index fc2c480..5d0c93b 100644 --- a/www/Magick++/PixelPacket.html +++ b/www/Magick++/PixelPacket.html @@ -132,7 +132,7 @@ are shown in the following table:</p> totally opaque).</p> <p>Note that for CMYKColorspace + matte (CMYKA), the opacity is stored in the assocated IndexPacket.</p> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/PixelPacket.rst b/www/Magick++/PixelPacket.rst index 369f586..21e7043 100644 --- a/www/Magick++/PixelPacket.rst +++ b/www/Magick++/PixelPacket.rst @@ -54,4 +54,4 @@ the assocated IndexPacket. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/Pixels.html b/www/Magick++/Pixels.html index d731526..704d84e 100644 --- a/www/Magick++/Pixels.html +++ b/www/Magick++/Pixels.html @@ -164,7 +164,7 @@ public: }; </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/Pixels.rst b/www/Magick++/Pixels.rst index b9e8277..b06399f 100644 --- a/www/Magick++/Pixels.rst +++ b/www/Magick++/Pixels.rst @@ -145,4 +145,4 @@ The following is the definition of the Magick::Pixels class:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/TypeMetric.html b/www/Magick++/TypeMetric.html index 29dc5de..1810dc2 100644 --- a/www/Magick++/TypeMetric.html +++ b/www/Magick++/TypeMetric.html @@ -89,7 +89,7 @@ public: }; </pre> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </body> </html> diff --git a/www/Magick++/TypeMetric.rst b/www/Magick++/TypeMetric.rst index d37474d..a564f0e 100644 --- a/www/Magick++/TypeMetric.rst +++ b/www/Magick++/TypeMetric.rst @@ -64,4 +64,4 @@ The following is the definition of the Magick::TypeMetric class:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Magick++/index.html b/www/Magick++/index.html index 7abadbd..2b77271 100644 --- a/www/Magick++/index.html +++ b/www/Magick++/index.html @@ -231,7 +231,7 @@ initialize GraphicsMagick will result in an application crash.</p> <h1><a class="toc-backref" href="#id6">Reporting Bugs</a></h1> <p>Please report any bugs via the <a class="reference external" href="http://sourceforge.net/projects/graphicsmagick/">GraphicsMagick Bug Tracker</a>. Questions regarding usage should be directed to <a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">Bob Friesenhahn</a>.</p> -<p>Copyright © Bob Friesenhahn 1999 - 2019</p> +<p>Copyright © Bob Friesenhahn 1999 - 2020</p> </div> </div> </body> diff --git a/www/Magick++/index.rst b/www/Magick++/index.rst index 7cce025..9857ceb 100644 --- a/www/Magick++/index.rst +++ b/www/Magick++/index.rst @@ -222,4 +222,4 @@ regarding usage should be directed to `Bob Friesenhahn`_. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| Bob Friesenhahn 1999 - 2019 +Copyright |copy| Bob Friesenhahn 1999 - 2020 diff --git a/www/Makefile.am b/www/Makefile.am index 2131fa1..ce2fd32 100644 --- a/www/Makefile.am +++ b/www/Makefile.am @@ -54,6 +54,7 @@ RST2HTML_TARGETS = \ $(WWWDIR)/ChangeLog-2016.html \ $(WWWDIR)/ChangeLog-2017.html \ $(WWWDIR)/ChangeLog-2018.html \ + $(WWWDIR)/ChangeLog-2019.html \ $(WWWDIR)/Changelog.html \ $(WWWDIR)/Changes.html \ $(WWWDIR)/Copyright.html \ @@ -170,6 +171,7 @@ WWW_HTML_FILES = \ $(WWWDIR)/ChangeLog-2016.html \ $(WWWDIR)/ChangeLog-2017.html \ $(WWWDIR)/ChangeLog-2018.html \ + $(WWWDIR)/ChangeLog-2019.html \ $(WWWDIR)/Changelog.html \ $(WWWDIR)/Changes.html \ $(WWWDIR)/Copyright.html \ @@ -272,6 +274,9 @@ CHANGELOG2RST=$(top_srcdir)/scripts/changelog2rst.sh $(top_srcdir)/www/Changelog.rst: $(top_srcdir)/ChangeLog $(CHANGELOG2RST) < $^ > $@ +$(top_srcdir)/www/ChangeLog-2019.rst: $(top_srcdir)/ChangeLog.2019 + $(CHANGELOG2RST) < $^ > $@ + $(top_srcdir)/www/ChangeLog-2018.rst: $(top_srcdir)/ChangeLog.2018 $(CHANGELOG2RST) < $^ > $@ diff --git a/www/NEWS.html b/www/NEWS.html index 2f1297b..56b1fbf 100644 --- a/www/NEWS.html +++ b/www/NEWS.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>GraphicsMagick News</title> <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> </head> @@ -38,7 +38,7 @@ <!-- -*- mode: rst -*- --> <!-- This text is in reStucturedText format, so it may look a bit odd. --> <!-- See http://docutils.sourceforge.net/rst.html for details. --> -<p>This file was last updated to reflect changes up to December 24, 2019</p> +<p>This file was last updated to reflect changes up to February 23, 2020</p> <p>Please note that this file records news for the associated development branch and that each development branch has its own NEWS file. See the ChangeLog file, and/or the Mercurial changesets, for full details.</p> @@ -47,48 +47,159 @@ every release, it is recommended to update to the most current release and not attempt to patch older releases.</p> <div class="contents local topic" id="contents"> <ul class="simple"> -<li><a class="reference internal" href="#december-24-2019" id="id2">1.3.34 (December 24, 2019)</a></li> -<li><a class="reference internal" href="#july-20-2019" id="id3">1.3.33 (July 20, 2019)</a></li> -<li><a class="reference internal" href="#june-15-2019" id="id4">1.3.32 (June 15, 2019)</a></li> -<li><a class="reference internal" href="#november-17-2018" id="id5">1.3.31 (November 17, 2018)</a></li> -<li><a class="reference internal" href="#june-23-2018" id="id6">1.3.30 (June 23, 2018)</a></li> -<li><a class="reference internal" href="#april-29-2018" id="id7">1.3.29 (April 29, 2018)</a></li> -<li><a class="reference internal" href="#january-20-2018" id="id8">1.3.28 (January 20, 2018)</a></li> -<li><a class="reference internal" href="#december-9-2017" id="id9">1.3.27 (December 9, 2017)</a></li> -<li><a class="reference internal" href="#july-4-2017" id="id10">1.3.26 (July 4, 2017)</a></li> -<li><a class="reference internal" href="#september-5-2016" id="id11">1.3.25 (September 5, 2016)</a></li> -<li><a class="reference internal" href="#may-30-2016" id="id12">1.3.24 (May 30, 2016)</a></li> -<li><a class="reference internal" href="#november-7-2015" id="id13">1.3.23 (November 7, 2015)</a></li> -<li><a class="reference internal" href="#october-4-2015" id="id14">1.3.22 (October 4, 2015)</a></li> -<li><a class="reference internal" href="#february-28-2015" id="id15">1.3.21 (February 28, 2015)</a></li> -<li><a class="reference internal" href="#august-16-2014" id="id16">1.3.20 (August 16, 2014)</a></li> -<li><a class="reference internal" href="#december-31-2013" id="id17">1.3.19 (December 31, 2013)</a></li> -<li><a class="reference internal" href="#march-10-2013" id="id18">1.3.18 (March 10, 2013)</a></li> -<li><a class="reference internal" href="#october-13-2012" id="id19">1.3.17 (October 13, 2012)</a></li> -<li><a class="reference internal" href="#june-24-2012" id="id20">1.3.16 (June 24, 2012)</a></li> -<li><a class="reference internal" href="#april-28-2012" id="id21">1.3.15 (April 28, 2012)</a></li> -<li><a class="reference internal" href="#february-25-2012" id="id22">1.3.14 (February 25, 2012)</a></li> -<li><a class="reference internal" href="#december-24-2011" id="id23">1.3.13 (December 24, 2011)</a></li> -<li><a class="reference internal" href="#march-8-2010" id="id24">1.3.12 (March 8, 2010)</a></li> -<li><a class="reference internal" href="#february-21-2010" id="id25">1.3.11 (February 21, 2010)</a></li> -<li><a class="reference internal" href="#february-10-2010" id="id26">1.3.10 (February 10, 2010)</a></li> -<li><a class="reference internal" href="#february-4-2010" id="id27">1.3.9 (February 4, 2010)</a></li> -<li><a class="reference internal" href="#january-21-2010" id="id28">1.3.8 (January 21, 2010)</a></li> -<li><a class="reference internal" href="#september-17-2009" id="id29">1.3.7 (September 17, 2009)</a></li> -<li><a class="reference internal" href="#july-25-2009" id="id30">1.3.6 (July 25, 2009)</a></li> -<li><a class="reference internal" href="#january-26-2009" id="id31">1.3.5 (January 26, 2009)</a></li> -<li><a class="reference internal" href="#january-13-2009" id="id32">1.3.4 (January 13, 2009)</a></li> -<li><a class="reference internal" href="#december-9-2008" id="id33">1.3.3 (December 9, 2008)</a></li> -<li><a class="reference internal" href="#november-29-2008" id="id34">1.3.2 (November 29, 2008)</a></li> -<li><a class="reference internal" href="#november-17-2008" id="id35">1.3.1 (November 17, 2008)</a></li> -<li><a class="reference internal" href="#november-9-2008" id="id36">1.3 (November 9, 2008)</a></li> -<li><a class="reference internal" href="#april-29-2008" id="id37">1.2 (April 29, 2008)</a></li> -<li><a class="reference internal" href="#released-april-4-2004" id="id38">1.1 (Released April 4, 2004)</a></li> -<li><a class="reference internal" href="#released-in-may-2003" id="id39">1.0 (Released in May, 2003)</a></li> +<li><a class="reference internal" href="#february-23-2020" id="id2">1.3.35 (February 23, 2020)</a></li> +<li><a class="reference internal" href="#december-24-2019" id="id3">1.3.34 (December 24, 2019)</a></li> +<li><a class="reference internal" href="#july-20-2019" id="id4">1.3.33 (July 20, 2019)</a></li> +<li><a class="reference internal" href="#june-15-2019" id="id5">1.3.32 (June 15, 2019)</a></li> +<li><a class="reference internal" href="#november-17-2018" id="id6">1.3.31 (November 17, 2018)</a></li> +<li><a class="reference internal" href="#june-23-2018" id="id7">1.3.30 (June 23, 2018)</a></li> +<li><a class="reference internal" href="#april-29-2018" id="id8">1.3.29 (April 29, 2018)</a></li> +<li><a class="reference internal" href="#january-20-2018" id="id9">1.3.28 (January 20, 2018)</a></li> +<li><a class="reference internal" href="#december-9-2017" id="id10">1.3.27 (December 9, 2017)</a></li> +<li><a class="reference internal" href="#july-4-2017" id="id11">1.3.26 (July 4, 2017)</a></li> +<li><a class="reference internal" href="#september-5-2016" id="id12">1.3.25 (September 5, 2016)</a></li> +<li><a class="reference internal" href="#may-30-2016" id="id13">1.3.24 (May 30, 2016)</a></li> +<li><a class="reference internal" href="#november-7-2015" id="id14">1.3.23 (November 7, 2015)</a></li> +<li><a class="reference internal" href="#october-4-2015" id="id15">1.3.22 (October 4, 2015)</a></li> +<li><a class="reference internal" href="#february-28-2015" id="id16">1.3.21 (February 28, 2015)</a></li> +<li><a class="reference internal" href="#august-16-2014" id="id17">1.3.20 (August 16, 2014)</a></li> +<li><a class="reference internal" href="#december-31-2013" id="id18">1.3.19 (December 31, 2013)</a></li> +<li><a class="reference internal" href="#march-10-2013" id="id19">1.3.18 (March 10, 2013)</a></li> +<li><a class="reference internal" href="#october-13-2012" id="id20">1.3.17 (October 13, 2012)</a></li> +<li><a class="reference internal" href="#june-24-2012" id="id21">1.3.16 (June 24, 2012)</a></li> +<li><a class="reference internal" href="#april-28-2012" id="id22">1.3.15 (April 28, 2012)</a></li> +<li><a class="reference internal" href="#february-25-2012" id="id23">1.3.14 (February 25, 2012)</a></li> +<li><a class="reference internal" href="#december-24-2011" id="id24">1.3.13 (December 24, 2011)</a></li> +<li><a class="reference internal" href="#march-8-2010" id="id25">1.3.12 (March 8, 2010)</a></li> +<li><a class="reference internal" href="#february-21-2010" id="id26">1.3.11 (February 21, 2010)</a></li> +<li><a class="reference internal" href="#february-10-2010" id="id27">1.3.10 (February 10, 2010)</a></li> +<li><a class="reference internal" href="#february-4-2010" id="id28">1.3.9 (February 4, 2010)</a></li> +<li><a class="reference internal" href="#january-21-2010" id="id29">1.3.8 (January 21, 2010)</a></li> +<li><a class="reference internal" href="#september-17-2009" id="id30">1.3.7 (September 17, 2009)</a></li> +<li><a class="reference internal" href="#july-25-2009" id="id31">1.3.6 (July 25, 2009)</a></li> +<li><a class="reference internal" href="#january-26-2009" id="id32">1.3.5 (January 26, 2009)</a></li> +<li><a class="reference internal" href="#january-13-2009" id="id33">1.3.4 (January 13, 2009)</a></li> +<li><a class="reference internal" href="#december-9-2008" id="id34">1.3.3 (December 9, 2008)</a></li> +<li><a class="reference internal" href="#november-29-2008" id="id35">1.3.2 (November 29, 2008)</a></li> +<li><a class="reference internal" href="#november-17-2008" id="id36">1.3.1 (November 17, 2008)</a></li> +<li><a class="reference internal" href="#november-9-2008" id="id37">1.3 (November 9, 2008)</a></li> +<li><a class="reference internal" href="#april-29-2008" id="id38">1.2 (April 29, 2008)</a></li> +<li><a class="reference internal" href="#released-april-4-2004" id="id39">1.1 (Released April 4, 2004)</a></li> +<li><a class="reference internal" href="#released-in-may-2003" id="id40">1.0 (Released in May, 2003)</a></li> +</ul> +</div> +<div class="section" id="february-23-2020"> +<h1><a class="toc-backref" href="#id2">1.3.35 (February 23, 2020)</a></h1> +<p>Special Issues:</p> +<ul class="simple"> +<li>It has been discovered that the 'ICU' library (a perhaps 30MB C++ +library) which is now often a libxml2 dependendency causes huge +process initialization overhead. This is noticed as unexpected +slowness when GraphicsMagick utilities are used to process small to +medium sized files. The time to initialize the 'ICU' library is +often longer than the time that GraphicsMagick would otherwise +require to read the input file, process the image, and write the +output file. If the 'ICU' dependency can not be avoided, then make +sure to use the modules build so there is only impact for file +formats which require libxml2. Please lobby the 'ICU' library +developers to change their implementation to avoid long start-up +times due to merely linking with the library.</li> +</ul> +<p>Security Fixes:</p> +<ul class="simple"> +<li>GraphicsMagick is now participating in Google's oss-fuzz project due +to the contributions and assistance of Alex Gaynor. Since February 4 +2018, 398 issues have been opened by oss-fuzz (some of which were +benign build issues) and 11 issues remain open. +The issues list is available at +<a class="reference external" href="https://bugs.chromium.org/p/oss-fuzz/issues/list">https://bugs.chromium.org/p/oss-fuzz/issues/list</a> under search term +"graphicsmagick". Issues are available for anyone to view and +duplicate if they have been in "Verified" status for 30 days, or if +they have been in "New" status for 90 days. There are too many +fixes to list here. Please consult the GraphicsMagick ChangeLog +file, Mercurial repository commit log, and the oss-fuzz issues list +for details.</li> +</ul> +<p>Bug fixes:</p> +<ul class="simple"> +<li>Fix broken definition of ResourceInfinity which resulted in that +GetMagickResource() would return -1 rather than the maximum range +value for the return type as documented. (problem added by the +1.3.32 release).</li> +<li>ModifyCache(): Re-open the pixel cache if the cache rows/columns do +not match the owning image rows/columns.</li> +<li>Fix DisplayImages() return status. The return status was inverted.</li> +<li>HISTOGRAM: Histogram once again includes the histogram as a text +comment. This became broken by previous security fixes.</li> +<li>PICT: Fixed heap buffer overuns reported multiple sources.</li> +<li>JNG: Detect when JPEG encoder has failed and throw an exception.</li> +<li>MVG/DrawImage(): Performs even more parsing validations.</li> +<li>Clang static analyzer fixes: A great many fixes were made based on +problem reports by the Clang static analyzer.</li> +<li>Visual Studio static analyzer fixes: A great many fixes were made +based on problem reports by the Visual Studio 2019 static analyzer. +Many of these may improve the robustness of 64-bit code.</li> +</ul> +<p>New Features:</p> +<ul class="simple"> +<li>GRADIENT/GradientImage(): Improved accuracy of gradient levels as +well as dramaticaly improving performance. Output PseudoClass +images if we can. Add support for using the image 'gravity' +attribute as well as the "gradient:direction" definition to produce +gradient vector directions corresponding to SouthGravity (the +previously-existing default), NorthGravity, WestGravity, +EastGravity, NorthWestGravity, NorthEastGravity, SouthWestGravity, +and SouthEastGravity.</li> +</ul> +<p>API Updates:</p> +<ul class="simple"> +<li>InitializeMagickEx(): New function which may be used in place of +InitializeMagick() to initialize GraphicsMagick. This +initialization function returns an error status value, may update a +passed ExceptionInfo structure with error information, and provides +an options parameter which supports simple bit-flags to tailor +initialization. The signal handler registrations are skipped if the +MAGICK_OPT_NO_SIGNAL_HANDER flag is set in the options.</li> +</ul> +<p>Feature improvements:</p> +<ul class="simple"> +<li>Replace use of non-reentrant legacy POSIX functions with reentrant +equivalents.</li> +<li>Timing of image reads should now be very accurate. The timer was +sometimes not stopped as soon as it should be.</li> +<li>PICT: The PICT reader is working pretty good now. It handles all +the PICT image files I have available to me.</li> +</ul> +<p>Windows Delegate Updates/Additions:</p> +<ul class="simple"> +<li>None</li> +</ul> +<p>Build Changes:</p> +<ul class="simple"> +<li>Visual Studio Build: Configure program now provides a checkbox to +enable common optimizations for better performance.</li> +</ul> +<p>Behavior Changes:</p> +<ul class="simple"> +<li>POSIX Signals: Use the normal termination signal handler for SIGXCPU +and SIGXFSZ so that ulimit or setrlimit(2) may be used to apply CPU +(RLIMIT_CPU) and output file size (RLIMIT_FSIZE) limits with the +normal cleanup, and without dumping core. Note that any output files +currently being written may be truncated and files being written by +external programs (e.g. Ghostscript) might be left behind unless +they are to a temporary file assigned by GraphicsMagick.</li> +<li>Some private string and integer constants were removed from the +apparent library ABI. Some private functions were marked static and +removed from the apparent library ABI. This is mentioned because +someone is sure to notice and be concerned about it.</li> +<li>The remaining private content in installed header files was moved +into -private.h header files which are not installed. This should +not be cause for concern but is mentiond because someone is sure to +notice and be concerned about it.</li> </ul> </div> <div class="section" id="december-24-2019"> -<h1><a class="toc-backref" href="#id2">1.3.34 (December 24, 2019)</a></h1> +<h1><a class="toc-backref" href="#id3">1.3.34 (December 24, 2019)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>It has been discovered that the 'ICU' library (a perhaps 30MB C++ @@ -205,7 +316,7 @@ without "administrator" privileges.</li> </ul> </div> <div class="section" id="july-20-2019"> -<h1><a class="toc-backref" href="#id3">1.3.33 (July 20, 2019)</a></h1> +<h1><a class="toc-backref" href="#id4">1.3.33 (July 20, 2019)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>It has been discovered that the 'ICU' library (a perhaps 30MB C++ @@ -289,7 +400,7 @@ color is marked as transparent.</li> </ul> </div> <div class="section" id="june-15-2019"> -<h1><a class="toc-backref" href="#id4">1.3.32 (June 15, 2019)</a></h1> +<h1><a class="toc-backref" href="#id5">1.3.32 (June 15, 2019)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>It has been discovered that the 'ICU' library (a perhaps 30MB C++ @@ -506,7 +617,7 @@ advance on the text string using TranslateText() if need be.</li> </ul> </div> <div class="section" id="november-17-2018"> -<h1><a class="toc-backref" href="#id5">1.3.31 (November 17, 2018)</a></h1> +<h1><a class="toc-backref" href="#id6">1.3.31 (November 17, 2018)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>Firmware and operating system updates to address the Spectre @@ -598,7 +709,7 @@ forever.</li> </ul> </div> <div class="section" id="june-23-2018"> -<h1><a class="toc-backref" href="#id6">1.3.30 (June 23, 2018)</a></h1> +<h1><a class="toc-backref" href="#id7">1.3.30 (June 23, 2018)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>None</li> @@ -677,7 +788,7 @@ compilation via the MaxWarningCount definition in coders/jpeg.c.</li> </ul> </div> <div class="section" id="april-29-2018"> -<h1><a class="toc-backref" href="#id7">1.3.29 (April 29, 2018)</a></h1> +<h1><a class="toc-backref" href="#id8">1.3.29 (April 29, 2018)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>None</li> @@ -771,7 +882,7 @@ to the efforts of Greg Wolfe.</li> </ul> </div> <div class="section" id="january-20-2018"> -<h1><a class="toc-backref" href="#id8">1.3.28 (January 20, 2018)</a></h1> +<h1><a class="toc-backref" href="#id9">1.3.28 (January 20, 2018)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>None</li> @@ -850,7 +961,7 @@ renaming.</li> </ul> </div> <div class="section" id="december-9-2017"> -<h1><a class="toc-backref" href="#id9">1.3.27 (December 9, 2017)</a></h1> +<h1><a class="toc-backref" href="#id10">1.3.27 (December 9, 2017)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>None</li> @@ -1008,7 +1119,7 @@ removed from shared library or DLL namespace.</li> </ul> </div> <div class="section" id="july-4-2017"> -<h1><a class="toc-backref" href="#id10">1.3.26 (July 4, 2017)</a></h1> +<h1><a class="toc-backref" href="#id11">1.3.26 (July 4, 2017)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>None</li> @@ -1111,7 +1222,7 @@ source tree. All of these depend on proprietary components.</li> </ul> </div> <div class="section" id="september-5-2016"> -<h1><a class="toc-backref" href="#id11">1.3.25 (September 5, 2016)</a></h1> +<h1><a class="toc-backref" href="#id12">1.3.25 (September 5, 2016)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>None</li> @@ -1188,7 +1299,7 @@ seconds precision in in elapsed time output.</li> </ul> </div> <div class="section" id="may-30-2016"> -<h1><a class="toc-backref" href="#id12">1.3.24 (May 30, 2016)</a></h1> +<h1><a class="toc-backref" href="#id13">1.3.24 (May 30, 2016)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>A shell exploit (CVE-2016-5118) was discovered associated with a @@ -1310,7 +1421,7 @@ delegate.mgk file.</li> </ul> </div> <div class="section" id="november-7-2015"> -<h1><a class="toc-backref" href="#id13">1.3.23 (November 7, 2015)</a></h1> +<h1><a class="toc-backref" href="#id14">1.3.23 (November 7, 2015)</a></h1> <p>Special Issues:</p> <ul class="simple"> <li>Due to <a class="reference external" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53967">GCC bug 53967</a>, several key agorithms (e.g. convolution) @@ -1375,7 +1486,7 @@ available in recent Ghostscript.</li> </ul> </div> <div class="section" id="october-4-2015"> -<h1><a class="toc-backref" href="#id14">1.3.22 (October 4, 2015)</a></h1> +<h1><a class="toc-backref" href="#id15">1.3.22 (October 4, 2015)</a></h1> <p>Thanks:</p> <ul class="simple"> <li>Coverity: We thank Coverity for providing free service for free @@ -1484,7 +1595,7 @@ The STL function-object equivalent of the deprecated method is removed entirely.</p> </div> <div class="section" id="february-28-2015"> -<h1><a class="toc-backref" href="#id15">1.3.21 (February 28, 2015)</a></h1> +<h1><a class="toc-backref" href="#id16">1.3.21 (February 28, 2015)</a></h1> <p>Thanks:</p> <blockquote> <ul class="simple"> @@ -1721,7 +1832,7 @@ for an RGB image.</li> </blockquote> </div> <div class="section" id="august-16-2014"> -<h1><a class="toc-backref" href="#id16">1.3.20 (August 16, 2014)</a></h1> +<h1><a class="toc-backref" href="#id17">1.3.20 (August 16, 2014)</a></h1> <p>Special Issues:</p> <blockquote> <ul class="simple"> @@ -1885,7 +1996,7 @@ optimizations since their implementations have been problematic.</li> </blockquote> </div> <div class="section" id="december-31-2013"> -<h1><a class="toc-backref" href="#id17">1.3.19 (December 31, 2013)</a></h1> +<h1><a class="toc-backref" href="#id18">1.3.19 (December 31, 2013)</a></h1> <p>Special Issues:</p> <blockquote> <ul class="simple"> @@ -2044,7 +2155,7 @@ multiple Ghostscript versions.</li> </blockquote> </div> <div class="section" id="march-10-2013"> -<h1><a class="toc-backref" href="#id18">1.3.18 (March 10, 2013)</a></h1> +<h1><a class="toc-backref" href="#id19">1.3.18 (March 10, 2013)</a></h1> <p>Special Issues:</p> <blockquote> <ul class="simple"> @@ -2158,7 +2269,7 @@ color is in the same colorspace as the image.</li> </blockquote> </div> <div class="section" id="october-13-2012"> -<h1><a class="toc-backref" href="#id19">1.3.17 (October 13, 2012)</a></h1> +<h1><a class="toc-backref" href="#id20">1.3.17 (October 13, 2012)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2245,7 +2356,7 @@ will search for firefox, google-chrome, mozilla (in that order).</li> </blockquote> </div> <div class="section" id="june-24-2012"> -<h1><a class="toc-backref" href="#id20">1.3.16 (June 24, 2012)</a></h1> +<h1><a class="toc-backref" href="#id21">1.3.16 (June 24, 2012)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2310,7 +2421,7 @@ include OpenMP support for it by default.</li> None</blockquote> </div> <div class="section" id="april-28-2012"> -<h1><a class="toc-backref" href="#id21">1.3.15 (April 28, 2012)</a></h1> +<h1><a class="toc-backref" href="#id22">1.3.15 (April 28, 2012)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2384,7 +2495,7 @@ anticipate the automatic file numbering.</li> </blockquote> </div> <div class="section" id="february-25-2012"> -<h1><a class="toc-backref" href="#id22">1.3.14 (February 25, 2012)</a></h1> +<h1><a class="toc-backref" href="#id23">1.3.14 (February 25, 2012)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2441,7 +2552,7 @@ was using the filter setting from the Image structure instead.</li> </blockquote> </div> <div class="section" id="december-24-2011"> -<h1><a class="toc-backref" href="#id23">1.3.13 (December 24, 2011)</a></h1> +<h1><a class="toc-backref" href="#id24">1.3.13 (December 24, 2011)</a></h1> <p>Security Fixes:</p> <blockquote> None</blockquote> @@ -2595,7 +2706,7 @@ static builds.</li> </blockquote> </div> <div class="section" id="march-8-2010"> -<h1><a class="toc-backref" href="#id24">1.3.12 (March 8, 2010)</a></h1> +<h1><a class="toc-backref" href="#id25">1.3.12 (March 8, 2010)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2639,7 +2750,7 @@ would be written.</li> </blockquote> </div> <div class="section" id="february-21-2010"> -<h1><a class="toc-backref" href="#id25">1.3.11 (February 21, 2010)</a></h1> +<h1><a class="toc-backref" href="#id26">1.3.11 (February 21, 2010)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2691,7 +2802,7 @@ opaque.</li> </blockquote> </div> <div class="section" id="february-10-2010"> -<h1><a class="toc-backref" href="#id26">1.3.10 (February 10, 2010)</a></h1> +<h1><a class="toc-backref" href="#id27">1.3.10 (February 10, 2010)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2738,7 +2849,7 @@ scene number substition is desired in the output file names.</li> </blockquote> </div> <div class="section" id="february-4-2010"> -<h1><a class="toc-backref" href="#id27">1.3.9 (February 4, 2010)</a></h1> +<h1><a class="toc-backref" href="#id28">1.3.9 (February 4, 2010)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2798,7 +2909,7 @@ image in the list if it is not already opaque.</li> </blockquote> </div> <div class="section" id="january-21-2010"> -<h1><a class="toc-backref" href="#id28">1.3.8 (January 21, 2010)</a></h1> +<h1><a class="toc-backref" href="#id29">1.3.8 (January 21, 2010)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -2952,7 +3063,7 @@ distributed.</li> </blockquote> </div> <div class="section" id="september-17-2009"> -<h1><a class="toc-backref" href="#id29">1.3.7 (September 17, 2009)</a></h1> +<h1><a class="toc-backref" href="#id30">1.3.7 (September 17, 2009)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3042,7 +3153,7 @@ structure is clean prior to invoking a function.</li> </blockquote> </div> <div class="section" id="july-25-2009"> -<h1><a class="toc-backref" href="#id30">1.3.6 (July 25, 2009)</a></h1> +<h1><a class="toc-backref" href="#id31">1.3.6 (July 25, 2009)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3176,7 +3287,7 @@ progressive JPEG.</li> </blockquote> </div> <div class="section" id="january-26-2009"> -<h1><a class="toc-backref" href="#id31">1.3.5 (January 26, 2009)</a></h1> +<h1><a class="toc-backref" href="#id32">1.3.5 (January 26, 2009)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3215,7 +3326,7 @@ not available.</li> </blockquote> </div> <div class="section" id="january-13-2009"> -<h1><a class="toc-backref" href="#id32">1.3.4 (January 13, 2009)</a></h1> +<h1><a class="toc-backref" href="#id33">1.3.4 (January 13, 2009)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3254,7 +3365,7 @@ not available.</li> </blockquote> </div> <div class="section" id="december-9-2008"> -<h1><a class="toc-backref" href="#id33">1.3.3 (December 9, 2008)</a></h1> +<h1><a class="toc-backref" href="#id34">1.3.3 (December 9, 2008)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3286,7 +3397,7 @@ used in a directory containing a million files.</li> </blockquote> </div> <div class="section" id="november-29-2008"> -<h1><a class="toc-backref" href="#id34">1.3.2 (November 29, 2008)</a></h1> +<h1><a class="toc-backref" href="#id35">1.3.2 (November 29, 2008)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3320,7 +3431,7 @@ process the opacity channel unless the image has one.</li> </blockquote> </div> <div class="section" id="november-17-2008"> -<h1><a class="toc-backref" href="#id35">1.3.1 (November 17, 2008)</a></h1> +<h1><a class="toc-backref" href="#id36">1.3.1 (November 17, 2008)</a></h1> <p>Security Fixes:</p> <blockquote> <ul class="simple"> @@ -3358,7 +3469,7 @@ encoding is used via jpeg:optimize-coding define.</li> </blockquote> </div> <div class="section" id="november-9-2008"> -<h1><a class="toc-backref" href="#id36">1.3 (November 9, 2008)</a></h1> +<h1><a class="toc-backref" href="#id37">1.3 (November 9, 2008)</a></h1> <p>Security fixes:</p> <blockquote> <ul class="simple"> @@ -3566,7 +3677,7 @@ dither any named channel.</li> </blockquote> </div> <div class="section" id="april-29-2008"> -<h1><a class="toc-backref" href="#id37">1.2 (April 29, 2008)</a></h1> +<h1><a class="toc-backref" href="#id38">1.2 (April 29, 2008)</a></h1> <p>Security fixes:</p> <blockquote> <ul class="simple"> @@ -3822,7 +3933,7 @@ distributed).</li> </blockquote> </div> <div class="section" id="released-april-4-2004"> -<h1><a class="toc-backref" href="#id38">1.1 (Released April 4, 2004)</a></h1> +<h1><a class="toc-backref" href="#id39">1.1 (Released April 4, 2004)</a></h1> <p>Bug fixes:</p> <blockquote> <ul class="simple"> @@ -4062,7 +4173,7 @@ logging system.</li> </div> <hr class="docutils" /> <div class="section" id="released-in-may-2003"> -<h1><a class="toc-backref" href="#id39">1.0 (Released in May, 2003)</a></h1> +<h1><a class="toc-backref" href="#id40">1.0 (Released in May, 2003)</a></h1> <p>GraphicsMagick support services:</p> <blockquote> <ul class="simple"> diff --git a/www/OpenMP.html b/www/OpenMP.html index fcfae52..1102dfd 100644 --- a/www/OpenMP.html +++ b/www/OpenMP.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>OpenMP in GraphicsMagick</title> <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> </head> @@ -199,7 +199,7 @@ commands also accept a <tt class="docutils literal"><span class="pre">-limit</sp specifying the maximum number of threads to use.</p> <hr class="docutils" /> <div class="line-block"> -<div class="line">Copyright (C) 2008 - 2019 GraphicsMagick Group</div> +<div class="line">Copyright (C) 2008 - 2020 GraphicsMagick Group</div> </div> <p>This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/OpenMP.rst b/www/OpenMP.rst index 9f04f94..4a40bca 100644 --- a/www/OpenMP.rst +++ b/www/OpenMP.rst @@ -190,7 +190,7 @@ specifying the maximum number of threads to use. -------------------------------------------------------------------------- -| Copyright (C) 2008 - 2019 GraphicsMagick Group +| Copyright (C) 2008 - 2020 GraphicsMagick Group This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/README.html b/www/README.html index 3660990..3705228 100644 --- a/www/README.html +++ b/www/README.html @@ -415,7 +415,7 @@ likely that other purposes will be found for Zstd.</p> </li> </ul> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/api/api.html b/www/api/api.html index b0d7c88..0e7a8e3 100644 --- a/www/api/api.html +++ b/www/api/api.html @@ -280,7 +280,7 @@ out.miff'.</p> compile the GraphicsMagick utilities. Using compatible options ensures that your program will compile and run.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/api/api.rst b/www/api/api.rst index 03a64ca..694e1ad 100644 --- a/www/api/api.rst +++ b/www/api/api.rst @@ -301,4 +301,4 @@ your program will compile and run. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/api/attribute.html b/www/api/attribute.html index 0c25af0..92bec54 100644 --- a/www/api/attribute.html +++ b/www/api/attribute.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>attribute</title> <link rel="stylesheet" href="../docutils-api.css" type="text/css" /> </head> diff --git a/www/api/image.html b/www/api/image.html index 9485170..e9ad14f 100644 --- a/www/api/image.html +++ b/www/api/image.html @@ -476,17 +476,17 @@ void DestroyImageInfo( <a class="reference external" href="../api/types.html#ima <div class="section" id="id28"> <h2>Synopsis</h2> <pre class="literal-block"> -unsigned int DisplayImages( const <a class="reference external" href="../api/types.html#imageinfo">ImageInfo</a> *image_info, <a class="reference external" href="../api/types.html#image">Image</a> *image ); +MagickPassFail DisplayImages( const <a class="reference external" href="../api/types.html#imageinfo">ImageInfo</a> *image_info, <a class="reference external" href="../api/types.html#image">Image</a> *image ); </pre> </div> <div class="section" id="id29"> <h2>Description</h2> <p>DisplayImages() displays an image sequence to any X window screen. It -returns a value other than 0 if successful. Check the exception member -of image to determine the reason for any failure.</p> +returns MagickPass if successful or MagickFail if not. Check the +exception member of image to determine the reason for any failure.</p> <p>The format of the DisplayImages method is:</p> <pre class="literal-block"> -unsigned int DisplayImages( const <a class="reference external" href="../api/types.html#imageinfo">ImageInfo</a> *image_info, <a class="reference external" href="../api/types.html#image">Image</a> *image ); +MagickPassFail DisplayImages( const <a class="reference external" href="../api/types.html#imageinfo">ImageInfo</a> *image_info, <a class="reference external" href="../api/types.html#image">Image</a> *image ); </pre> <p>A description of each parameter follows:</p> <dl class="docutils"> diff --git a/www/api/magick.html b/www/api/magick.html index 9f1461a..ef4fbb3 100644 --- a/www/api/magick.html +++ b/www/api/magick.html @@ -39,25 +39,26 @@ <div class="contents topic" id="contents"> <p class="topic-title first">Contents</p> <ul class="simple"> -<li><a class="reference internal" href="#destroymagick" id="id29">DestroyMagick</a></li> -<li><a class="reference internal" href="#destroymagickinfo" id="id30">DestroyMagickInfo</a></li> -<li><a class="reference internal" href="#destroymagickinfolist" id="id31">DestroyMagickInfoList</a></li> -<li><a class="reference internal" href="#getimagemagick" id="id32">GetImageMagick</a></li> -<li><a class="reference internal" href="#getmagickinfo" id="id33">GetMagickInfo</a></li> -<li><a class="reference internal" href="#getmagickinfoarray" id="id34">GetMagickInfoArray</a></li> -<li><a class="reference internal" href="#initializemagick" id="id35">InitializeMagick</a></li> -<li><a class="reference internal" href="#ismagickconflict" id="id36">IsMagickConflict</a></li> -<li><a class="reference internal" href="#listmagickinfo" id="id37">ListMagickInfo</a></li> -<li><a class="reference internal" href="#listmodulemap" id="id38">ListModuleMap</a></li> -<li><a class="reference internal" href="#magicktomime" id="id39">MagickToMime</a></li> -<li><a class="reference internal" href="#registermagickinfo" id="id40">RegisterMagickInfo</a></li> -<li><a class="reference internal" href="#panicdestroymagick" id="id41">PanicDestroyMagick</a></li> -<li><a class="reference internal" href="#setmagickinfo" id="id42">SetMagickInfo</a></li> -<li><a class="reference internal" href="#unregistermagickinfo" id="id43">UnregisterMagickInfo</a></li> +<li><a class="reference internal" href="#destroymagick" id="id31">DestroyMagick</a></li> +<li><a class="reference internal" href="#destroymagickinfo" id="id32">DestroyMagickInfo</a></li> +<li><a class="reference internal" href="#destroymagickinfolist" id="id33">DestroyMagickInfoList</a></li> +<li><a class="reference internal" href="#getimagemagick" id="id34">GetImageMagick</a></li> +<li><a class="reference internal" href="#getmagickinfo" id="id35">GetMagickInfo</a></li> +<li><a class="reference internal" href="#getmagickinfoarray" id="id36">GetMagickInfoArray</a></li> +<li><a class="reference internal" href="#initializemagick" id="id37">InitializeMagick</a></li> +<li><a class="reference internal" href="#initializemagickex" id="id38">InitializeMagickEx</a></li> +<li><a class="reference internal" href="#ismagickconflict" id="id39">IsMagickConflict</a></li> +<li><a class="reference internal" href="#listmagickinfo" id="id40">ListMagickInfo</a></li> +<li><a class="reference internal" href="#listmodulemap" id="id41">ListModuleMap</a></li> +<li><a class="reference internal" href="#magicktomime" id="id42">MagickToMime</a></li> +<li><a class="reference internal" href="#registermagickinfo" id="id43">RegisterMagickInfo</a></li> +<li><a class="reference internal" href="#panicdestroymagick" id="id44">PanicDestroyMagick</a></li> +<li><a class="reference internal" href="#setmagickinfo" id="id45">SetMagickInfo</a></li> +<li><a class="reference internal" href="#unregistermagickinfo" id="id46">UnregisterMagickInfo</a></li> </ul> </div> <div class="section" id="destroymagick"> -<h1><a class="toc-backref" href="#id29">DestroyMagick</a></h1> +<h1><a class="toc-backref" href="#id31">DestroyMagick</a></h1> <div class="section" id="synopsis"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -82,7 +83,7 @@ DestroyMagick( void ); </div> </div> <div class="section" id="destroymagickinfo"> -<h1><a class="toc-backref" href="#id30">DestroyMagickInfo</a></h1> +<h1><a class="toc-backref" href="#id32">DestroyMagickInfo</a></h1> <div class="section" id="id1"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -99,7 +100,7 @@ void DestroyMagickInfo( <a class="reference external" href="../api/types.html#ma </div> </div> <div class="section" id="destroymagickinfolist"> -<h1><a class="toc-backref" href="#id31">DestroyMagickInfoList</a></h1> +<h1><a class="toc-backref" href="#id33">DestroyMagickInfoList</a></h1> <div class="section" id="id3"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -116,7 +117,7 @@ void DestroyMagickInfoList( void ); </div> </div> <div class="section" id="getimagemagick"> -<h1><a class="toc-backref" href="#id32">GetImageMagick</a></h1> +<h1><a class="toc-backref" href="#id34">GetImageMagick</a></h1> <div class="section" id="id5"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -140,7 +141,7 @@ const char *GetImageMagick( const unsigned char *magick, const size_t length ); </div> </div> <div class="section" id="getmagickinfo"> -<h1><a class="toc-backref" href="#id33">GetMagickInfo</a></h1> +<h1><a class="toc-backref" href="#id35">GetMagickInfo</a></h1> <div class="section" id="id7"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -171,7 +172,7 @@ const <a class="reference external" href="../api/types.html#magickinfo">MagickIn </div> </div> <div class="section" id="getmagickinfoarray"> -<h1><a class="toc-backref" href="#id34">GetMagickInfoArray</a></h1> +<h1><a class="toc-backref" href="#id36">GetMagickInfoArray</a></h1> <div class="section" id="id9"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -200,7 +201,7 @@ structures based on pointers in the array!</p> </div> </div> <div class="section" id="initializemagick"> -<h1><a class="toc-backref" href="#id35">InitializeMagick</a></h1> +<h1><a class="toc-backref" href="#id37">InitializeMagick</a></h1> <div class="section" id="id11"> <h2>Synopsis</h2> <pre class="literal-block"> @@ -209,12 +210,16 @@ InitializeMagick( const char *path ); </div> <div class="section" id="id12"> <h2>Description</h2> -<p>InitializeMagick() initializes the GraphicsMagick environment. -InitializeMagick() MUST be invoked by the using program before making -use of GraphicsMagick functions or else the library will be unusable.</p> +<p>InitializeMagick() initializes the GraphicsMagick environment.</p> +<p>InitializeMagick() or InitializeMagickEx() MUST be invoked by the using +program before making use of GraphicsMagick functions or else the library +will be unusable and any usage is likely to cause a crash.</p> <p>This function should be invoked in the primary (original) thread of the application's process, and before starting any OpenMP threads, as part of program initialization.</p> +<p>If alternate memory allocations are provided via MagickAllocFunctions() +then that function should be invoked before InitializeMagickEx() since +the memory allocation functions need to be consistent.</p> <p>The format of the InitializeMagick function is:</p> <pre class="literal-block"> InitializeMagick( const char *path ); @@ -222,20 +227,58 @@ InitializeMagick( const char *path ); <p>A description of each parameter follows:</p> <dl class="docutils"> <dt>path:</dt> -<dd>The execution path of the current GraphicsMagick client.</dd> +<dd>The execution path of the current GraphicsMagick client (or NULL)</dd> </dl> </div> </div> -<div class="section" id="ismagickconflict"> -<h1><a class="toc-backref" href="#id36">IsMagickConflict</a></h1> +<div class="section" id="initializemagickex"> +<h1><a class="toc-backref" href="#id38">InitializeMagickEx</a></h1> <div class="section" id="id13"> <h2>Synopsis</h2> <pre class="literal-block"> -MagickBool IsMagickConflict( const char *magick ); +MagickPassFail InitializeMagickEx( const char *path, unsigned int options, + <a class="reference external" href="../api/types.html#exceptioninfo">ExceptionInfo</a> *exception ); </pre> </div> <div class="section" id="id14"> <h2>Description</h2> +<p>InitializeMagickEx() initializes the GraphicsMagick environment, +providing a bit more more control and visibility over initialization +than the original InitializeMagick().</p> +<p>InitializeMagick() or InitializeMagickEx() MUST be invoked by the using +program before making use of GraphicsMagick functions or else the library +will be unusable and any usage is likely to cause a crash.</p> +<p>This function should be invoked in the primary (original) thread of the +application's process, and before starting any OpenMP threads, as part +of program initialization.</p> +<p>If alternate memory allocations are provided via MagickAllocFunctions() +then that function should be invoked before InitializeMagickEx() since +the memory allocation functions need to be consistent.</p> +<p>The format of the InitializeMagickEx function is:</p> +<pre class="literal-block"> +MagickPassFail InitializeMagickEx( const char *path, unsigned int options, + <a class="reference external" href="../api/types.html#exceptioninfo">ExceptionInfo</a> *exception ); +</pre> +<dl class="docutils"> +<dt>path:</dt> +<dd>The execution path of the current GraphicsMagick client (or NULL)</dd> +<dt>options:</dt> +<dd>Options flags tailoring initializations performed</dd> +<dt>exception:</dt> +<dd>Information about initialization failure is reported here.</dd> +</dl> +</div> +</div> +<div class="section" id="ismagickconflict"> +<h1><a class="toc-backref" href="#id39">IsMagickConflict</a></h1> +<div class="section" id="id15"> +<h2>Synopsis</h2> +<pre class="literal-block"> +MagickBool IsMagickConflict( const char *magick ); +</pre> +</div> +<div class="section" id="id16"> +<h2>Description</h2> <p>Method IsMagickConflict returns true if the image format conflicts with a logical drive (.e.g. X:).</p> <p>The format of the IsMagickConflict method is:</p> @@ -253,14 +296,14 @@ conflicts with a logical drive.</dd> </div> </div> <div class="section" id="listmagickinfo"> -<h1><a class="toc-backref" href="#id37">ListMagickInfo</a></h1> -<div class="section" id="id15"> +<h1><a class="toc-backref" href="#id40">ListMagickInfo</a></h1> +<div class="section" id="id17"> <h2>Synopsis</h2> <pre class="literal-block"> MagickPassFail ListMagickInfo( FILE *file, <a class="reference external" href="../api/types.html#exceptioninfo">ExceptionInfo</a> *exception ); </pre> </div> -<div class="section" id="id16"> +<div class="section" id="id18"> <h2>Description</h2> <p>ListMagickInfo() lists the image formats to a file.</p> <p>The format of the ListMagickInfo method is:</p> @@ -277,14 +320,14 @@ MagickPassFail ListMagickInfo( FILE *file, <a class="reference external" href=". </div> </div> <div class="section" id="listmodulemap"> -<h1><a class="toc-backref" href="#id38">ListModuleMap</a></h1> -<div class="section" id="id17"> +<h1><a class="toc-backref" href="#id41">ListModuleMap</a></h1> +<div class="section" id="id19"> <h2>Synopsis</h2> <pre class="literal-block"> MagickPassFail ListModuleMap( FILE *file, <a class="reference external" href="../api/types.html#exceptioninfo">ExceptionInfo</a> *exception ); </pre> </div> -<div class="section" id="id18"> +<div class="section" id="id20"> <h2>Description</h2> <p>Method ListModuleMap lists the module alias info to a file in the XML format used by modules.mgk. True is returned on success.</p> @@ -302,14 +345,14 @@ MagickPassFail ListModuleMap( FILE *file, <a class="reference external" href=".. </div> </div> <div class="section" id="magicktomime"> -<h1><a class="toc-backref" href="#id39">MagickToMime</a></h1> -<div class="section" id="id19"> +<h1><a class="toc-backref" href="#id42">MagickToMime</a></h1> +<div class="section" id="id21"> <h2>Synopsis</h2> <pre class="literal-block"> char *MagickToMime( const char *magick ); </pre> </div> -<div class="section" id="id20"> +<div class="section" id="id22"> <h2>Description</h2> <p>Method MagickToMime returns the officially registered (or de facto) MIME media-type corresponding to a magick string. If there is no registered @@ -327,14 +370,14 @@ char *MagickToMime( const char *magick ); </div> </div> <div class="section" id="registermagickinfo"> -<h1><a class="toc-backref" href="#id40">RegisterMagickInfo</a></h1> -<div class="section" id="id21"> +<h1><a class="toc-backref" href="#id43">RegisterMagickInfo</a></h1> +<div class="section" id="id23"> <h2>Synopsis</h2> <pre class="literal-block"> <a class="reference external" href="../api/types.html#magickinfo">MagickInfo</a> *RegisterMagickInfo( <a class="reference external" href="../api/types.html#magickinfo">MagickInfo</a> *magick_info ); </pre> </div> -<div class="section" id="id22"> +<div class="section" id="id24"> <h2>Description</h2> <p>RegisterMagickInfo() adds attributes for a particular image format to the list of supported formats. The attributes include the image format name, @@ -353,14 +396,14 @@ supports native in-memory I/O, and a brief description of the format.</p> </div> </div> <div class="section" id="panicdestroymagick"> -<h1><a class="toc-backref" href="#id41">PanicDestroyMagick</a></h1> -<div class="section" id="id23"> +<h1><a class="toc-backref" href="#id44">PanicDestroyMagick</a></h1> +<div class="section" id="id25"> <h2>Synopsis</h2> <pre class="literal-block"> void PanicDestroyMagick( void ); </pre> </div> -<div class="section" id="id24"> +<div class="section" id="id26"> <h2>Description</h2> <p>PanicDestroyMagick() destroys only persistent allocations such as temporary files. Other allocations (e.g. semaphores and heap memory) @@ -376,14 +419,14 @@ void PanicDestroyMagick( void ); </div> </div> <div class="section" id="setmagickinfo"> -<h1><a class="toc-backref" href="#id42">SetMagickInfo</a></h1> -<div class="section" id="id25"> +<h1><a class="toc-backref" href="#id45">SetMagickInfo</a></h1> +<div class="section" id="id27"> <h2>Synopsis</h2> <pre class="literal-block"> <a class="reference external" href="../api/types.html#magickinfo">MagickInfo</a> *SetMagickInfo( const char *name ); </pre> </div> -<div class="section" id="id26"> +<div class="section" id="id28"> <h2>Description</h2> <p>Method SetMagickInfo allocates a MagickInfo structure and initializes the members to default values.</p> @@ -403,14 +446,14 @@ with the MagickInfo structure.</dd> </div> </div> <div class="section" id="unregistermagickinfo"> -<h1><a class="toc-backref" href="#id43">UnregisterMagickInfo</a></h1> -<div class="section" id="id27"> +<h1><a class="toc-backref" href="#id46">UnregisterMagickInfo</a></h1> +<div class="section" id="id29"> <h2>Synopsis</h2> <pre class="literal-block"> unsigned int UnregisterMagickInfo( const char *name ); </pre> </div> -<div class="section" id="id28"> +<div class="section" id="id30"> <h2>Description</h2> <p>Method UnregisterMagickInfo removes a name from the magick info list. It returns MagickFail if the name does not exist in the list otherwise diff --git a/www/api/pixel_cache.html b/www/api/pixel_cache.html index d62765a..fc53979 100644 --- a/www/api/pixel_cache.html +++ b/www/api/pixel_cache.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>pixel_cache</title> <link rel="stylesheet" href="../docutils-api.css" type="text/css" /> </head> diff --git a/www/api/transform.html b/www/api/transform.html index 2ec7ba4..bc9ed7b 100644 --- a/www/api/transform.html +++ b/www/api/transform.html @@ -368,8 +368,8 @@ region of the image to shave.</dd> <div class="section" id="id21"> <h2>Synopsis</h2> <pre class="literal-block"> -void TransformImage( <a class="reference external" href="../api/types.html#image">Image</a> ** image, const char *crop_geometry, - const char *image_geometry ); +MagickPassFail TransformImage( <a class="reference external" href="../api/types.html#image">Image</a> ** image, const char *crop_geometry, + const char *image_geometry ); </pre> </div> <div class="section" id="id22"> @@ -380,8 +380,8 @@ geometry specification. If the operation fails, the original image handle is returned.</p> <p>The format of the TransformImage method is:</p> <pre class="literal-block"> -void TransformImage( <a class="reference external" href="../api/types.html#image">Image</a> ** image, const char *crop_geometry, - const char *image_geometry ); +MagickPassFail TransformImage( <a class="reference external" href="../api/types.html#image">Image</a> ** image, const char *crop_geometry, + const char *image_geometry ); </pre> <dl class="docutils"> <dt>image:</dt> diff --git a/www/api/types.html b/www/api/types.html index eb04c45..ac7104b 100644 --- a/www/api/types.html +++ b/www/api/types.html @@ -2837,7 +2837,7 @@ typedef struct _XResourceInfo } XResourceInfo; </pre> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/api/types.rst b/www/api/types.rst index d4a1329..013253a 100644 --- a/www/api/types.rst +++ b/www/api/types.rst @@ -2070,4 +2070,4 @@ MagickXResourceInfo .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/authors.html b/www/authors.html index 34d1784..30b5711 100644 --- a/www/authors.html +++ b/www/authors.html @@ -199,7 +199,7 @@ Wireless Access Protocol.</dd> </dl> <hr class="docutils" /> <div class="line-block"> -<div class="line">Copyright © GraphicsMagick Group 2002 - 2019</div> +<div class="line">Copyright © GraphicsMagick Group 2002 - 2020</div> </div> <p>This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/authors.rst b/www/authors.rst index 47aa6a9..3495af4 100644 --- a/www/authors.rst +++ b/www/authors.rst @@ -198,7 +198,7 @@ Mike Edmonds .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -| Copyright |copy| GraphicsMagick Group 2002 - 2019 +| Copyright |copy| GraphicsMagick Group 2002 - 2020 This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/benchmarks.html b/www/benchmarks.html index 5ca478e..4f130ee 100644 --- a/www/benchmarks.html +++ b/www/benchmarks.html @@ -170,7 +170,7 @@ done 2>&1 </pre> <hr class="docutils" /> <div class="line-block"> -<div class="line">Copyright (C) 2008 - 2019 GraphicsMagick Group</div> +<div class="line">Copyright (C) 2008 - 2020 GraphicsMagick Group</div> </div> <p>This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/benchmarks.rst b/www/benchmarks.rst index 8ca5def..dcec20b 100644 --- a/www/benchmarks.rst +++ b/www/benchmarks.rst @@ -141,7 +141,7 @@ Here is the simple benchmark script:: -------------------------------------------------------------------------- -| Copyright (C) 2008 - 2019 GraphicsMagick Group +| Copyright (C) 2008 - 2020 GraphicsMagick Group This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/configure-target-setup.png b/www/configure-target-setup.png Binary files differindex 2a21cef..4968ff6 100644 --- a/www/configure-target-setup.png +++ b/www/configure-target-setup.png diff --git a/www/contribute.html b/www/contribute.html index deedbe8..35610df 100644 --- a/www/contribute.html +++ b/www/contribute.html @@ -114,7 +114,7 @@ explore.</li> delegate under Windows.</li> </ul> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/contribute.rst b/www/contribute.rst index fb4e8c5..37c49f9 100644 --- a/www/contribute.rst +++ b/www/contribute.rst @@ -107,4 +107,4 @@ the GraphicsMagick project: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/download.html b/www/download.html index 6c4b836..c81cf53 100644 --- a/www/download.html +++ b/www/download.html @@ -96,7 +96,7 @@ Visual C++ workspace) may be found here.</blockquote> <p><a class="reference external" href="http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/">Polish ftp mirror via http</a> (http protocol)</p> </blockquote> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/download.rst b/www/download.rst index faf9d40..8217d20 100644 --- a/www/download.rst +++ b/www/download.rst @@ -86,4 +86,4 @@ Here are some known download sites for GraphicsMagick: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/formats.html b/www/formats.html index f9db6c9..fb95da7 100644 --- a/www/formats.html +++ b/www/formats.html @@ -1286,7 +1286,7 @@ extensions: .gz for Zip compression, .Z for Unix compression, and .bz2 for block compression. For example, a PNM image called image.pnm.gz is automatically uncompressed while the image is read.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/formats.rst b/www/formats.rst index b85632d..66ed7cf 100644 --- a/www/formats.rst +++ b/www/formats.rst @@ -812,4 +812,4 @@ automatically uncompressed while the image is read. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/gm.html b/www/gm.html index 78068fc..939709c 100644 --- a/www/gm.html +++ b/www/gm.html @@ -1501,6 +1501,17 @@ to an different interpretation of the standard, or getting the wires crossed. The swap-samples option may be supplied when reading or writing in order to read or write using the necessary sample order. </dd> +<dt>gradient:direction={South|North|West|East|NorthWest|NorthEast|SouthWest|SouthEast}</dt> +<dd>By default, the gradient coder produces a gradient from top to +bottom ("South"). Since GraphicsMagick 1.3.35, the gradient direction +may be specified to produce gradient vectors according to a +gravity-like specification. The arguments are <strong>South</strong> (Top to +Bottom), <strong>North</strong> (Bottom to Top), <strong>West</strong> (Right to Left), +<strong>East</strong> (Left to Right), <strong>NorthWest</strong> (Bottom-Right to +Top-Left), <strong>NorthEast</strong> (Bottom-Left to Top-Right), +<strong>SouthWest</strong> (Top-Right Bottom-Left), and <strong>SouthEast</strong> +(Top-Left to Bottom-Right). +</dd> <dt>jp2:rate=<value></dt> <dd>Specify the compression factor to use while writing JPEG-2000 files. The compression factor is the reciprocal of the compression @@ -18089,7 +18100,7 @@ color="#00B04F"><font size="+1"> <p>To display the version information: <pre> GraphicsMagick 1.3.27a 2017-12-11 Q16 http://www.GraphicsMagick.org/ - Copyright (C) 2002-2017 GraphicsMagick Group. + Copyright (C) 2002-2020 GraphicsMagick Group. Additional copyrights and licenses apply to this software. See http://www.GraphicsMagick.org/www/Copyright.html for details. Feature Support: diff --git a/www/index.html b/www/index.html index 8e55a54..2cf3e53 100644 --- a/www/index.html +++ b/www/index.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>GraphicsMagick Image Processing System</title> <meta content="GraphicsMagick is a robust collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats including GIF, JPEG, PNG, PDF, and WebP. With GraphicsMagick you can create GIFs dynamically making it suitable for Web applications. You can also resize, rotate, sharpen, color reduce, or add special effects to an image and save your completed work in the same or differing image format. " name="description" /> <meta content="GraphicsMagick, GM, PerlMagick, Perl Magick, Perl Magic, image processing, software development, TclMagick, Magick++" name="keywords" /> @@ -47,7 +47,7 @@ </colgroup> <tbody valign="top"> <tr><td>Current Release</td> -<td>1.3.34 (Released December 24, 2019) <a class="reference external" href="http://sourceforge.net/projects/graphicsmagick/files/">download release</a></td> +<td>1.3.35 (Released February 23, 2020) <a class="reference external" href="http://sourceforge.net/projects/graphicsmagick/files/">download release</a></td> </tr> <tr><td>Development Snapshots</td> <td>(Updated frequently) <a class="reference external" href="ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/snapshots/">download development snapshots</a></td> @@ -143,7 +143,7 @@ image</li> </ul> </blockquote> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/index.rst b/www/index.rst index 51e67ea..940b2ad 100644 --- a/www/index.rst +++ b/www/index.rst @@ -28,7 +28,7 @@ GraphicsMagick Image Processing System .. _programming : programming.html =========================== ======================================================== -Current Release 1.3.34 (Released December 24, 2019) `download release`__ +Current Release 1.3.35 (Released February 23, 2020) `download release`__ Development Snapshots (Updated frequently) `download development snapshots`__ Mercurial Repository (Updated frequently) `visit Mercurial repository`__ =========================== ======================================================== @@ -178,4 +178,4 @@ Here are just a few examples of what GraphicsMagick can do: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/links.html b/www/links.html index cdf3754..d5a0a25 100644 --- a/www/links.html +++ b/www/links.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>Related Links</title> <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> </head> @@ -205,7 +205,7 @@ utilities, and applications.</p> <h1><a class="toc-backref" href="#id21">Stock Photos</a></h1> <p><a class="reference external" href="http://www.morguefile.com/">MorgueFile</a>, Free high-resolution stock photo images.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/links.rst b/www/links.rst index 51ab568..e9f6aec 100644 --- a/www/links.rst +++ b/www/links.rst @@ -241,4 +241,4 @@ Stock Photos .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/miff.html b/www/miff.html index 9caf05b..33d3674 100644 --- a/www/miff.html +++ b/www/miff.html @@ -458,7 +458,7 @@ individual image (composed of a header and image data) into one file.</p> <p>John Cristy, <a class="reference external" href="mailto:magick-users%40imagemagick.org">magick-users<span>@</span>imagemagick<span>.</span>org</a> ImageMagick Studio LLC.</p> <p>Maintained since 2002 by Bob Friesenhahn, GraphicsMagick Group.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/miff.rst b/www/miff.rst index 775df78..88ba973 100644 --- a/www/miff.rst +++ b/www/miff.rst @@ -406,4 +406,4 @@ Maintained since 2002 by Bob Friesenhahn, GraphicsMagick Group. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/mission.html b/www/mission.html index 8ca4869..da2ce1e 100644 --- a/www/mission.html +++ b/www/mission.html @@ -63,7 +63,7 @@ GraphicsMagick a stable component in Linux and BSD distributions.</li> <li>Value, and respect the contributions of developers, and observe and respect the copyrights of other projects.</li> </ul> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/mission.rst b/www/mission.rst index 9ce70f7..c22ac4b 100644 --- a/www/mission.rst +++ b/www/mission.rst @@ -44,4 +44,4 @@ The objectives of the GraphicsMagick project are to: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/motion-picture.html b/www/motion-picture.html index 9945799..30fb69e 100644 --- a/www/motion-picture.html +++ b/www/motion-picture.html @@ -783,7 +783,7 @@ gm identify -format '%[dpx:*]' foo.dpx </pre> <p>to list all DPX header attributes.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </div> diff --git a/www/motion-picture.rst b/www/motion-picture.rst index 5e892da..8ea5344 100644 --- a/www/motion-picture.rst +++ b/www/motion-picture.rst @@ -640,4 +640,4 @@ to list all DPX header attributes. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/perl.html b/www/perl.html index 4ef1c28..6a92a5c 100644 --- a/www/perl.html +++ b/www/perl.html @@ -2036,7 +2036,7 @@ $status =~ /(\d+)/; die "unable to continue" if ($1 == ResourceLimitError); </pre> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/perl.rst b/www/perl.rst index 6c4d454..f2c3666 100644 --- a/www/perl.rst +++ b/www/perl.rst @@ -1499,4 +1499,4 @@ The following illustrates how you can use a numeric status code:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/process.html b/www/process.html index 4395674..7c6841a 100644 --- a/www/process.html +++ b/www/process.html @@ -120,7 +120,7 @@ final release.</p> <p>Exit Criteria: None</p> </blockquote> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </div> diff --git a/www/process.rst b/www/process.rst index 3f5c829..8f46ced 100644 --- a/www/process.rst +++ b/www/process.rst @@ -99,4 +99,4 @@ Release Phase .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/programming.html b/www/programming.html index 2a0dfab..bf4d9fb 100644 --- a/www/programming.html +++ b/www/programming.html @@ -104,7 +104,7 @@ a COM+ object.</td> <p><em>Some of these languages and scripting environments are supported by the GraphicsMagick Group while others are developed and supported by third parties.</em></p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/programming.rst b/www/programming.rst index 2fac415..741b631 100644 --- a/www/programming.rst +++ b/www/programming.rst @@ -70,4 +70,4 @@ GraphicsMagick Group while others are developed and supported by third parties.* .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/project.html b/www/project.html index 2fb60b7..afb0477 100644 --- a/www/project.html +++ b/www/project.html @@ -55,7 +55,7 @@ <p><a class="reference external" href="thanks.html">Thanks</a> - Read about those who helped in ways other than contributing code.</p> <p><a class="reference external" href="Hg.html">Source Control</a> - Source control is important. We use Mercurial.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2012 - 2019</p> +<p>Copyright © GraphicsMagick Group 2012 - 2020</p> </div> </body> </html> diff --git a/www/project.rst b/www/project.rst index f0cd985..f6c9e02 100644 --- a/www/project.rst +++ b/www/project.rst @@ -59,4 +59,4 @@ GraphicsMagick Project Information .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2012 - 2019 +Copyright |copy| GraphicsMagick Group 2012 - 2020 diff --git a/www/quantize.html b/www/quantize.html index 2ff18af..7979c61 100644 --- a/www/quantize.html +++ b/www/quantize.html @@ -244,7 +244,7 @@ values in the image.</dd> of using space subdivision for the color reduction algorithm. With Paul's permission, this document is an adaptation from a document he wrote.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/quantize.rst b/www/quantize.rst index 3f1fd82..855d750 100644 --- a/www/quantize.rst +++ b/www/quantize.rst @@ -240,4 +240,4 @@ permission, this document is an adaptation from a document he wrote. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/reference.html b/www/reference.html index 94c40a3..eaded6e 100644 --- a/www/reference.html +++ b/www/reference.html @@ -44,7 +44,7 @@ <p><a class="reference external" href="miff.html">MIFF</a> - Magick Image File Format.</p> <p><a class="reference external" href="links.html">Links</a> - Some links we find useful.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2012 - 2019</p> +<p>Copyright © GraphicsMagick Group 2012 - 2020</p> </div> </body> </html> diff --git a/www/reference.rst b/www/reference.rst index c83c4c3..950570b 100644 --- a/www/reference.rst +++ b/www/reference.rst @@ -26,4 +26,4 @@ Links_ - Some links we find useful. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2012 - 2019 +Copyright |copy| GraphicsMagick Group 2012 - 2020 diff --git a/www/security.html b/www/security.html index a7fb5af..397b67d 100644 --- a/www/security.html +++ b/www/security.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.13.1: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> <title>GraphicsMagick Security</title> <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> </head> @@ -322,7 +322,7 @@ akWaTz0WKIOiD9Lm2ylI9J0= =UAq2 -----END PGP PUBLIC KEY BLOCK----- </pre> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/security.rst b/www/security.rst index 02cbbaf..d187c8a 100644 --- a/www/security.rst +++ b/www/security.rst @@ -316,4 +316,4 @@ correspondence:: .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/thanks.html b/www/thanks.html index 6eaa6aa..f00f201 100644 --- a/www/thanks.html +++ b/www/thanks.html @@ -136,7 +136,7 @@ reduction.</dd> </dl> <hr class="docutils" /> <div class="line-block"> -<div class="line">Copyright © GraphicsMagick Group 2002 - 2019</div> +<div class="line">Copyright © GraphicsMagick Group 2002 - 2020</div> </div> <p>This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/thanks.rst b/www/thanks.rst index 691950c..0975ac9 100644 --- a/www/thanks.rst +++ b/www/thanks.rst @@ -121,7 +121,7 @@ Thomas R Crimmins .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -| Copyright |copy| GraphicsMagick Group 2002 - 2019 +| Copyright |copy| GraphicsMagick Group 2002 - 2020 This program is covered by multiple licenses, which are described in Copyright.txt. You should have received a copy of Copyright.txt with this diff --git a/www/tools.html b/www/tools.html index a9f2161..8d80374 100644 --- a/www/tools.html +++ b/www/tools.html @@ -177,7 +177,7 @@ a rotated version of them in TIFF format:</p> <p><a class="reference external" href="montage.html">Montage</a> creates a composite by combining several separate images. The images are tiled on a composite image with the name of the image and its properties optionally appearing just below the individual tile.</p> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </div> </body> diff --git a/www/tools.rst b/www/tools.rst index 02561ee..5edb2d2 100644 --- a/www/tools.rst +++ b/www/tools.rst @@ -170,5 +170,5 @@ properties optionally appearing just below the individual tile. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/utilities.html b/www/utilities.html index 0428359..7779217 100644 --- a/www/utilities.html +++ b/www/utilities.html @@ -97,7 +97,7 @@ commands are as follows:</p> </tbody> </table> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2002 - 2019</p> +<p>Copyright © GraphicsMagick Group 2002 - 2020</p> </div> </body> </html> diff --git a/www/utilities.rst b/www/utilities.rst index 7f7ff05..f1b212f 100644 --- a/www/utilities.rst +++ b/www/utilities.rst @@ -66,4 +66,4 @@ version_ Report GraphicsMagick version, features, and build options. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2002 - 2019 +Copyright |copy| GraphicsMagick Group 2002 - 2020 diff --git a/www/version.html b/www/version.html index 3a80d5e..96ea0b0 100644 --- a/www/version.html +++ b/www/version.html @@ -109,7 +109,7 @@ color="#00B04F"><font size="+1"> <p>To display the version information: <pre> GraphicsMagick 1.3.27a 2017-12-11 Q16 http://www.GraphicsMagick.org/ - Copyright (C) 2002-2017 GraphicsMagick Group. + Copyright (C) 2002-2020 GraphicsMagick Group. Additional copyrights and licenses apply to this software. See http://www.GraphicsMagick.org/www/Copyright.html for details. Feature Support: diff --git a/www/wand/wand.html b/www/wand/wand.html index f812de5..1526a84 100644 --- a/www/wand/wand.html +++ b/www/wand/wand.html @@ -134,7 +134,7 @@ gcc -o demo demo.c -O `GraphicsMagickWand-config --cppflags --ldflags --libs` compile the GraphicsMagick wand library. Using compatible options ensures that your program will compile and run.</p> <hr class="docutils" /> -<p>Copyright © GraphicsMagick Group 2009 - 2019</p> +<p>Copyright © GraphicsMagick Group 2009 - 2020</p> </div> </body> </html> diff --git a/www/wand/wand.rst b/www/wand/wand.rst index 9ab98ce..906a8c5 100644 --- a/www/wand/wand.rst +++ b/www/wand/wand.rst @@ -111,4 +111,4 @@ your program will compile and run. .. |copy| unicode:: U+000A9 .. COPYRIGHT SIGN -Copyright |copy| GraphicsMagick Group 2009 - 2019 +Copyright |copy| GraphicsMagick Group 2009 - 2020 |