2016-05-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* version.sh (PACKAGE_VERSION): Released 1.3.24.

	* NEWS.txt: Update for 1.3.24 release.

	* www/Changes.rst: Mention 1.3.24 release.

	* www/index.rst: Update for 1.3.24 release.

	* version.sh: Update library ABI information in preparation for
	1.3.24 release.

	* NEWS.txt: Updated NEWS to reflect fixes and issues.

2016-05-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* NEWS.txt: Updated with latest news.

	* magick/blob.c (OpenBlob): Remove support for reading input from
	a shell command, or writing output to a shell command, by
	prefixing the specified filename (containing the command) with a
	'|'.  This feature provided a remote shell execution opportunity
	(CVE-2016-5118).

	* coders/mat.c (ReadMATImage): Validate that MAT frames is not
	zero.

2016-05-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/render.c (DrawImage): Be less optimistic when estimating
	the number of points required to represent a path.  This should
	help address CVE-2016-2317 "Heap buffer overflow".  This resolves
	SourceForge issue #275 "Applying Clipping Path to high resolution
	JPG".

2016-05-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/render.c (DrawImage): Fix problem while reading file
	"pxypjhfdxf.svg.7406476585885697806" provided via via private
	email from Gustavo Grieco on May 24, 2016.

	* coders/svg.c: Fix problem while reading file
	"pxypjhfdxf.svg.308008972284643989" provided via private email
	from Gustavo Grieco on May 24, 2016.

2016-05-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/svg.c ("C"): Support font-size "medium".

2016-05-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* NEWS.txt: Updated NEWS.txt to reflect latest changes.

	* magick/render.c (DrawImage): Added DrawImage() recursion
	detection/prevention.

	* coders/svg.c (ReadSVGImage): Add basic primitive argument
	validation.

	* magick/render.c (DrawImage): Add basic primitive argument
	validation.

2016-05-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/url.c (ReadURLImage): Reading "file://" URLs was not
	working.  Now file URLs are working.

2016-05-21  Glenn Randers-Pehrson  <glennrp@simple.dallas.tx.us>

	* coders/png.c: Respect JPEG limits (65535x65535) and user width
	and height limits from "-limit" while reading or writing JNG files.

2016-05-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/url.c: Don't hide HTTP, FTP, and FILE URL support from
	'-list format' output.  Ignore HTTP, FTP, and FILE as a useful
	file extension for determing the file format.

2016-05-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/render.c (ConvertPathToPolygon): Make sure that first
	edge is initialized.  Make sure that points is not null.

2016-05-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/render.c (DrawImage): Fixed segmentation violation while
	reading file "275077586554139424.lqxdgqxtfs.svg" provided via
	private email from Gustavo Grieco on May 15, 2016.  This is due to
	another CVE-2016-2317 related issue.

2016-05-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/svg.c ("C"): Fixed problems while reading files
	"aaphrbkwwe.svg.-1899680443073025602",
	"aaphrbkwwe.svg.-5751004588641220738",
	"aaphrbkwwe.svg.-8875730334406147537", and
	"aaphrbkwwe.svg.4495884156523242589" provided via private email
	from Gustavo Grieco on February 8, 2016.

2016-05-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/dib.c (ReadDIBImage): Verify that DIB file data is
	sufficient to meet claims made by file header.  Validate image
	planes.  Fixes Fixes problem reported by Hanno Böck on May 8th,
	2016 via private email entitled "malloc issue in ReadDIBImage".

2016-05-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/msl.c (RegisterMSLImage): Ignore the file extension on
	MSL files.  The only way to read an image from a MSL file (as
	opposed to explicitly running a MSL script with 'conjure') is by
	reading using a filename specification like "msl:filename".  This
	is done for security reasons.

	* magick/render.c (DrawPrimitive): Fix Coverity issue 126378
	"Resource leak".

	* coders/mat.c (DecompressBlock): Fix Coverity issue 126379
	"Resource leak".

	* magick/render.c (DrawImage): Fix Coverity issue 126380 "Resource
	leak".

2016-05-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/render.c (DrawPrimitive): Sanity check the image file
	path or URL before passing it to ReadImage().

	* config/delegates.mgk.in: Pare down delegates.mgk to reduce
	security exposure due to external programs not under our control.

2016-05-08  Fojtik Jaroslav  <JaFojtik@seznam.cz>

	* coders/mat.c Typo fix - matrix has nothing to do with PostScript.

2016-05-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/mat.c (DecompressBlock): Don't hang on a corrupt deflate
	stream when reading matlab v6 file.  Fixes problem reported by
	Hanno Böck on May 8, 2016 via private email entitled "hang of
	matlab input file".

2016-05-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/image.c (SetImageInfo): Undocumented "TMP" magick prefix
	no longer removes the argument file after it has been read. This
	functionality is only used to support the "show" delegate which is
	used by options in the 'display' program which need to display a
	generated image in a new instance of 'display'.  The "show"
	delegate is used by writing a temporary file to be viewed, and
	which should be removed before the program quits.  Since the "TMP"
	feature was originally implemented, GraphicsMagick added a
	temporary file management subsystem which assures that temporary
	files are removed so this feature is not needed.

	* coders/tiff.c (ReadTIFFImage): Fix heap overflow with file
	"gkkxrilssm.tiff.-4678010562506843336" provided by Gustavo Grieco
	on February 8, 2006 via private email.

	* coders/viff.c (ReadVIFFImage): Fix problem with a very large
	malloc in sample file provided by Hanno Böck on May 7, 2016 with
	subject "large malloc in ReadVIFFImage".

	* coders/mvg.c (RegisterMVGImage): Do not auto-detect MVG format
	based on file extension.  MVG files can then only be read by
	adding a "MVG:" prefix to the file name. There is already no
	auto-detection of MVG based on content.

2016-05-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/xpm.c (ReadXPMImage): Limit the number of XPM colors and
	assure array initialization.  Fixes bad behavior with a sample
	file provided by Hanno Böck on May 6, 2016 with subject "Invalid
	free in ReadXPMImage".

	* coders/pcx.c (ReadPCXImage): Limit the number of PCX image
	planes allowed.  Fixes an unreasonable memory allocation in a
	sample file provided by Hanno Böck on May 5, 2016.

2016-05-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* config/delegates.mgk.in: Gnuplot files are inherently insecure.
	Remove delegates support for reading them.  Reported by John
	Lightsey via private email.
	Added -dSAFER to Ghostscript invokations in delegates.mgk for more
	secure execution.  Reported by David Chan via SourceForge bug
	"#386 ghostscript delegates should explicitly use -dSAFER.".

	* magick/constitute.c (ReadImages): Avoid possible infinite
	ReadImage() recursion.

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

	* magick/render.c (DrawPolygonPrimitive): Fix divide by zero
	exception encountered while reading file "sigfpe.svg" posted by
	Gustavo Grieco on May 1, 2016 to the oss-security mailing list
	with subject "CVE request: DoS in multiple versions of
	GraphicsMagick".
	(DrawDashPolygon): Fix endless loop problem caused by negative
	stroke-dasharray arguments.  Resolves problem observed while
	reading file "circular.svg" posted by Gustavo Grieco on May 1,
	2016 to the oss-security mailing list with subject "CVE request:
	DoS in multiple versions of GraphicsMagick".

	* magick/import.c (ImportViewPixelArea): Fix assertion while
	reading TIFF file gkkxrilssm.tiff.105123337066 provided by Gustavo
	Grieco.

2016-04-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/locale.c (ReadLOCALEImage): Make sure to close blob
	before returning.

	* coders/svg.c ("C"): Provide a hack work-around for double-quoted
	font-family argument.

	* magick/render.c (DrawImage): Make SVG path and other primitive
	parsing more robust.  Fixes SEGV when reading files provided by
	CVE-2016-2318 test cases.  Fixes CVE-2016-2318 completely.

2016-04-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/render.c (DrawImage): Fix heap buffer overflow when
	reading aaphrbkwwe.svg.-1114777018469422437 from CVE-2016-2317
	test cases.  This resolves CVE-2016-2317 completely.

2016-04-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/command.c (MogrifyImageCommand): Added mogrify
	-preserve-timestamp option to preserve file access and
	modification timestamps.  Contributed by Niko Rosvall via
	SourceForge patch #45 "preserve-timestamp option for mogrify
	command."

2016-04-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/blob.c: Added ReadBlobLSBSignedShort(),
	ReadBlobMSBSignedShort(),
	ReadBlobLSBSignedLong(),ReadBlobMSBSignedLong(),
	WriteBlobLSBSignedShort(), WriteBlobLSBSignedLong(),
	WriteBlobMSBSignedLong(), WriteBlobMSBSignedShort() for doing I/O
	on signed integer types without the need for dangerous casts or
	unexpected values due to signed/unsigned conversion.

2016-04-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* NEWS.txt: Updated with latest changes.

	* magick/constitute.c (ReadImage): Added asserts to check that the
	I/O blob is not still open in the returned image since this causes
	problems.

	* magick/blob.c (CloneBlobInfo): Use a cloning approach which does
	not require manually keeping structure members in sync.

	* coders/msl.c (ProcessMSLScript): Need to close I/O blob before
	returning.

	* coders/psd.c (ReadPSDImage): Assure that allocated image is not
	dereferenced before checking if it is NULL.  Check some memory
	calculations for overflow.
	(ReadPSDImage): Need to close I/O blob before returning.

	* coders/dib.c (ReadDIBImage): Use DestroyBlob() rather than
	DestroyBlobInfo().

	* coders/bmp.c (ReadBMPImage): Use DestroyBlob() rather than
	DestroyBlobInfo().

	* magick/blob.c: Improve blob tracing.

2016-04-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/bmp.c (ReadBMPImage): Fix reading 24-bit Microsoft BMP
	which claims to have a colormap.

2016-04-13 Fojtik Jaroslav  <JaFojtik@seznam.cz>

	* PerlMagick/t/input_complex_lsb_double_V4.mat Demo Matlab V4
	complex file.
	* coders/mat.c Missing break added.

2016-04-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/xpm.c (ReadXPMImage): Fix SourceForge issue #361
	"out-of-bounds read in coders/xpm.c:150:24"

	* coders/psd.c (ReadPSDImage): Add some defensive code to assure
	that image layers are not freed twice.

2016-04-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/log.c (InitializeLogInfo): Simplify LogInfo structure and
	its allocation in order to lessen the amount of fixed overhead.

2016-04-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/jp2.c (WriteJP2Image): Fix SourceForge issue #378 "jp2:
	impossible to create lossless jpeg-2000".  With this fix,
	specifying 'define jp2:rate=1.0' or '-quality 100' results in a
	lossless JP2 file.

2016-04-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/common.h: Update for GCC 5.

	* PerlMagick/MANIFEST: Update PerlMagick manifest.

	* PerlMagick/t/{read.t, write.t}: Add tests for MAT v4.

2016-04-03 Fojtik Jaroslav  <JaFojtik@seznam.cz>

	* coders/mat.c Matlab V4 attempt to read complex part of data.

2016-04-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* PerlMagick/t/features.pl.in: Provide a way that PerlMagick
	feature tests can test if a feature is supported.  Use it to make
	the PSD test optional.

	* coders/Makefile.am: Only build PSD module if
	ENABLE_BROKEN_CODERS is enabled.

	* magick/module.c (UnloadModule): Only invoke the module
	unregister function if it is defined.  The module register
	function is not defined if either the register or unregister
	functions were not found in the module which was loaded.

2016-04-02 Fojtik Jaroslav  <JaFojtik@seznam.cz>

	* coders/mat.c Matlab V4 files are also rotated.
        * PerlMagick/t/input_gray_lsb_double_V4.mat   Demo Matlab V4 file.

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

	* magick/magick.c (GetMagickInfo): Only declare that ExceptionInfo
	argument is not used if modules are not supported.

2016-03-28 Fojtik Jaroslav  <JaFojtik@seznam.cz>

	* coders/mat.c Attempt to read Matlab V4 files.

2016-03-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* magick/image.c (DestroyImage): Simply return if image is NULL
	since it is more user-friendly.

	* magick/shear.c (RotateImage): Fix Coverity issue 124519
	"Logically dead code".

	* magick/effect.c (BlurImage): Fix Coverity issue 124520
	"Dereference after null check".

	* coders/pdb.c (WritePDBImage): Fix SourceForge bug #360
	"out-of-bounds read in utilities/gm+0x80fcc71) (PDB reader)".

	* coders/meta.c (convertHTMLcodes): Fix SourceForge bug #373
	"out-of-bounds read in coders/meta.c:444:50"
	(ReadMETAImage): Fix SourceForge bug #364 "out-of-bounds write in
	coders/meta.c:1331:7".

2016-03-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/sgi.c (ReadSGIImage): Fix SourceForge bug #366
	"out-of-bounds write in coders/sgi.c:528:4" and bug #369
	"out-of-bounds write in coders/sgi.c:535:4".

	* coders/rle.c (ReadRLEImage): Fix SourceForge bug #371
	"out-of-bounds read in coders/rle.c:633:39".

2016-03-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/dib.c (ReadDIBImage): Fix SourceForge bug #367
	"out-of-bounds read in coders/dib.c:706:13" and bug #370
	"out-of-bounds read in coders/dib.c:716:15".

	* coders/pict.c (ReadPICTImage): Fix SourceForge bug #365
	"out-of-bounds read in magick/image.c:1305:3"

	* magick/utility.c (GetPageGeometry): Fix SourceForge bug #374
	"out-of-bounds write in magick/utility.c:4355:7"

2016-03-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/miff.c (ReadMIFFImage): Fix SourceForge bug #376 "SIGABRT
	in magick/colorspace.c:1052".

	* magick/shear.c (RotateImage): Fix SourceForge bug #375 "SIGABRT
	in magick/image.c:1230".

	* coders/sun.c (DecodeImage): Fix SourceForge bug #368
	"out-of-bounds read in coders/sun.c:223:17" and bug #363
	"out-of-bounds read in coders/sun.c:221:16".

2016-03-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/svg.c (GetUserSpaceCoordinateValue): Fix stack buffer
	overflow when reading file 'aaphrbkwwe.svg.-632425326915265752'
	from CVE-2016-2317 problem files.  Partial fix for SourceForge bug
	#358 "CVE-2016-2317 - SVG heap/stack buffer overflows".

	* magick/utility.c (MagickGetToken): New private function to
	replace GetToken().  The new function accepts a token buffer
	length argument.  GetToken() is modified to assume a token buffer
	length 'MaxTextExtent'.  All code using GetToken() is updated to
	use MagickGetToken().

	* coders/svg.c: Fix heap buffer overflow when reading file
	"aaphrbkwwe.svg.4495884156523242589" from CVE-2016-2317 problem
	files.  Partial fix for SourceForge bug #358 "CVE-2016-2317 - SVG
	heap/stack buffer overflows".

2016-03-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/psd.c (ReadPSDImage): Fix SourceForge bug #341
	"out-of-bounds read in coders/psd.c:1435".
	(WriteWhiteBackground): Fix SourceForge bug #350 "SEGV in
	coders/psd.c:1685".
	(DecodeImage): Fix SourceForge bug #351 "heap-buffer-overflow in
	coders/psd.c:142".
	(ReadPSDImage): Fix SourceForge bug #342 "out-of-bounds write in
	coders/psd.c:892"

	* coders/xcf.c (load_tile): Fix SourceForge bug #337
	"heap-buffer-overflow in coders/xcf.c:373".

	* coders/pict.c (WritePICTImage): Fix SourceForge bug #340
	"out-of-bounds write in coders/pict.c:1929".

	* coders/pdb.c (WritePDBImage): Fix SourceForge bug #348
	"heap-buffer-overflow in coders/pdb.c:949:26".

	* coders/xpm.c (ReadXPMImage): Fix SourceForge bug #334
	"heap-buffer-overflow in coders/xpm.c:150".

2016-03-09 Fojtik Jaroslav  <JaFojtik@seznam.cz>

	* coders/mat.c Fixed huge image limitation.

2016-03-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/sun.c (WriteSUNImage): Fix SourceForge bug #343
	"out-of-bounds write in coders/sun.c:962".

	* coders/rle.c (ReadRLEImage): Fix SourceForge bug #344
	"out-of-bounds write in coders/rle.c:524".

	* coders/xpm.c (ReadXPMImage): Fix SourceForge bug #335
	"out-of-bounds read in coders/xpm.c:154 ".

2016-03-06  Glenn Randers-Pehrson  <glennrp@simple.dallas.tx.us>

	* doc/options.imdoc (-extent): Revised the example to
	clarify the interaction of -gravity with the "geometry" offsets.

2016-03-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Add support for --enable-broken-coders which
	determines if broken or hazardous file format support should be
	enabled in the build.  Currently Adobe Photoshop (PSD) format is
	included in this category.

	* Rotate Changelog for new year.  Update documentation copyrights
	for new year.

2016-03-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tiff/libtiff/tif_config.h (HAVE_SNPRINTF): Define HAVE_SNPRINTF
	when using Microsoft Visual C++ 14 (Visual Studio 2015) or later.
	This is based on advice by Pablo Elpuro.

2016-02-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* Magick++/lib/Image.cpp (xResolution): New method to support
	setting the horizontal resolution with double precision.
	(yResolution): New method to support setting the vertical
	resolution with double precision.

	* www/Hg.rst: Document the ssh public keys for the server hosting
	the development Mercurial repository.

2016-02-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* coders/xpm.c (ReadXPMImage): Fix SourceForge bug #333
	heap-buffer-overflow in coders/xpm.c:409.

