File ImageMagick-CVE-2019-16708,16709.patch of Package ImageMagick.30956
Index: ImageMagick-6.8.8-1/magick/xwindow.c
===================================================================
--- ImageMagick-6.8.8-1.orig/magick/xwindow.c 2013-12-01 15:47:50.000000000 +0100
+++ ImageMagick-6.8.8-1/magick/xwindow.c 2019-10-07 16:09:00.066117070 +0200
@@ -297,6 +297,11 @@ MagickExport void DestroyXResources(void
(void) XFreePixmap(windows->display,magick_windows[i]->shadow_stipple);
magick_windows[i]->shadow_stipple=(Pixmap) NULL;
}
+ if (magick_windows[i]->matte_image != (XImage *) NULL)
+ {
+ XDestroyImage(magick_windows[i]->matte_image);
+ magick_windows[i]->matte_image=(XImage *) NULL;
+ }
if (magick_windows[i]->ximage != (XImage *) NULL)
{
XDestroyImage(magick_windows[i]->ximage);
Index: ImageMagick-6.8.8-1/coders/dps.c
===================================================================
--- ImageMagick-6.8.8-1.orig/coders/dps.c 2013-12-01 15:47:50.000000000 +0100
+++ ImageMagick-6.8.8-1/coders/dps.c 2019-10-07 16:09:00.070117090 +0200
@@ -185,7 +185,10 @@ static Image *ReadDPSImage(const ImageIn
image=AcquireImage(image_info);
status=OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
if (status == MagickFalse)
- return((Image *) NULL);
+ {
+ image=DestroyImageList(image);
+ return((Image *) NULL);
+ }
/*
Get user defaults from X resource database.
*/