GraphicsMagick

- Home
- Project
- Download
- Install
- Source
- News
- Utilities
- Programming
- Reference

2018-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

> - magick/static.c (OpenModule): Assure that status is initialized. Resolves Coverity 261207 "Uninitialized scalar variable".
> - wand/magick_wand.c (MagickHasColormap): New function to test if the image has a colormap. (MagickIsGrayImage): New function to test if the image uses only gray pixels. (MagickIsMonochromeImage): New function to test if the image uses only monochrome pixels. (MagickIsOpaqueImage): New function to test if the image uses only opaque pixels. (MagickIsPaletteImage): New function to test if the image is based on a color palette. Above functions are written by Troy Patteson and submitted via SourceForge patch #54 "Wand API patches: has colormap, is gray image, is monochrome image, is opaque image, is palette image".
> - fuzzing: Added initial OSS-Fuzz integration by Alex Gaynor. From SourceForge patch #55 "OSS-Fuzz integration"
> - coders/png.c (ReadMNGImage): Fix free using possibly unallocated pointer value.
> - magick/blob.c (SeekBlob): Remove implicit extension of blob allocation size based on seek offset. Besides making an assumption about how the blob memory was allocated, this reallocation feature provides a memory DOS opportunity. Resolves issue reported by Alex Gaynor via email entitled "Security issue with memory management in Magick++" to the graphicsmagick-security list on 31 Jan 2018. (SeekBlob):
> - coders/jpeg.c (ReadIPTCProfile): Revert inadvertent wrong return codes added by change on December 9, 2017. Fixes SourceForge bug 542 "Improper call to JPEG library in state 201" since 1.3.28.

2018-02-01 Greg Wolfe <gregory.wolfe@kodakalaris.com>

> - magick/annotate.c (RenderFreetype): Fixed the text opacity computation in RenderFreeType(). This bug caused the text fill color to bleed into the character cell when the SVG "fill-opacity" is less than 1.0.

2018-02-01 Greg Wolfe <gregory.wolfe@kodakalaris.com>

> - magick/attribute.c (CloneImageAttributes): Fixed a bug in which the source image attributes would always replace the destination image attributes instead of being appended to them, and the destination image attributes would become a memory leak.

2018-01-31 Greg Wolfe <gregory.wolfe@kodakalaris.com>

> - coders/svg.c (SVGStartElement): Fixed a bug in which the x,y location values for a <text> or <tspan> were overwritten by the x,y values for the next <tspan> before the previous values were used. This caused the text associated with the previous <text> or <tspan> to appear at the location specified for the next <tspan>.

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

> - magick/static.c: Use !defined(SupportMagickModules) to enable static module loader. Fixes SourceForge bug #543 "Multiple definition of "OpenModule" (etc) when cross-compiling shared".

2018-01-29 Greg Wolfe <gregory.wolfe@kodakalaris.com>

> - coders/svg.c (SVGStartElement): A terminating '>' in a geometry string is interpreted to mean that the dimensions of an image should only be changed if its width or height exceeds the geometry specification. For an unapparent and undocumented reason, a terminating '>', if present, was being nulled out, making this feature unusable for SVG files (now fixed).

2018-01-29 Greg Wolfe <gregory.wolfe@kodakalaris.com>

> - coders/svg.c (ReadSVGImage): If there is a geometry string in image_info->size (e.g., gm convert -size "50x50%" in.svg out.png), AllocateImage() sets image->columns and image->rows to the width and height values from the size string. However, this makes no sense if the size string was something like "50x50%" (we'll get columns = rows = 50). So we set columns and rows to 0 after AllocateImage(), which is the same as if no size string was supplied by the client. This also results in svg_info.bounds to be set to 0,0 (i.e., unknown), so that svg_info.bounds will later be set using the image size information from either the svg "canvas" width/height or from the viewbox. Later, variable "page" is set from svg_info->bounds. Then the geometry string in image_info->size gets applied to the (now known) "page" width and height when SvgStartElement() calls GetMagickGeometry(), and the intended result is obtained.

2018-01-24 Greg Wolfe <gregory.wolfe@kodakalaris.com>

> - coders/svg.c (SVGStartElement): When the density (DPI) is specified using the ImageInfo::density member, the derived scale factor is incorrectly applied a second time to the width and height members of variable RectangleInfo page. Fixes SourceForge ticket #451.

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

> - magick/static.c: Use a lazy-loader for static modules with the same external interface as the lazy-loader for dynamic modules.

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

> - NEWS.txt: Prepare for 1.3.28 release.

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

> - NEWS.txt: Update with changes since previous release.

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

> - PerlMagick/Magick.xs: Compiler warnings reduction.
> - magick/pixel_cache.h: Mark GetPixels(), GetIndexes(), and GetOnePixel() as deprecated. Compilers may produce a warning if these functions are used.
> - magick/pixel_cache.c (InterpolateColor): Return black pixel if InterpolateViewColor() reports failure.
> - coders/png.c (ReadMNGImage): Fix memory leak of chunk and mng_info in error path.
> - coders/gif.c (ReadGIFImage): Fix memory leak of global colormap.

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

> - magick/symbols.h: Fix SourceForge issue #538 "13 symbols in common with ImageMagick despite --enable-symbol-prefix".
> - coders/bmp.c (ReadBMPImage): Fix non-terminal loop due to unexpected bit-field mask value. Fixes SourceForge issue #541 "Infinite Loop in ReadBMPImage (coders/bmp.c)".
> - coders/jpeg.c (JPEGMessageHandler): Revert code added on 2017-07-08 to promote certain warnings from libjpeg to errors. Add code to rationalize claimed image dimensions based on file size. Resolves SourceForge issue #539 "Images with libjpeg warnings result in error".

2018-01-11 Fojtik Jaroslav <JaFojtik@seznam.cz>

> - coders/wpg.c Recursive ReadImage could return multiple scenes
>     fixed.

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

> - coders/png.c (ReadOnePNGImage): Quit 'passes' loop if we encountered an error
> - magick/pixel_cache.c (SetNexus): Fix heap overwrite in AcquireCacheNexus() due to SetNexus() not using an allocated staging area for the pixels like it should. This problem impacts all 1.3.X releases. Resolves SourceForge issues 532 "heap-buffer-overflow bug in ReadWPGImage" and #531 "heap-buffer-overflow in AcquireCacheNexus".
> - magick/pixel_cache.c (InterpolateViewColor): Now returns MagickPassFail rather than void. Code using this function is updated to check the return status.

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

> - magick/describe.c (DescribeImage): Discriminate between AcquireImagePixels() returning NULL or finding a transparent pixel. This avoids use of a null pointer in the case where AcquireImagePixels() returns NULL.

2017-12-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

> - magick/static.c: Change static module initialization to be based on an initialized list rather than a squence of function calls in order to simplify maintenance and possibly address future requirements.

2017-12-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

> - Copyright.txt: Bump copyright years and rotate ChangeLog.