summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ImageMagick6.spec4
-rw-r--r--upstream.patch36
2 files changed, 40 insertions, 0 deletions
diff --git a/ImageMagick6.spec b/ImageMagick6.spec
index 74c225a..d244817 100644
--- a/ImageMagick6.spec
+++ b/ImageMagick6.spec
@@ -57,6 +57,8 @@ Url: http://www.imagemagick.org/
#Source0: ftp://ftp.ImageMagick.org/pub/ImageMagick/ImageMagick-%%{VER}-%%{Patchlevel}.tar.xz
Source0: https://www.imagemagick.org/download/ImageMagick-%{VER}-%{Patchlevel}.tar.xz
+Patch0: upstream.patch
+
BuildRequires: gcc
BuildRequires: gcc-c++
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
@@ -349,6 +351,7 @@ however.
%prep
%setup -q -n %{libname}-%{VER}-%{Patchlevel}
+%patch0 -p1
# for %%doc
mkdir Magick++/examples
@@ -610,6 +613,7 @@ fi
* Tue Apr 27 2021 Remi Collet <remi@remirepo.net> - 6.9.12.9-1
- update to version 6.9.12 patch level 9
- open https://github.com/ImageMagick/ImageMagick6/issues/151 test suite fails
+- add upstream patch for gh#151
* Mon Apr 19 2021 Remi Collet <remi@remirepo.net> - 6.9.12.8-1
- update to version 6.9.12 patch level 8
diff --git a/upstream.patch b/upstream.patch
new file mode 100644
index 0000000..db5678e
--- /dev/null
+++ b/upstream.patch
@@ -0,0 +1,36 @@
+From bcbfef937b6cb25b8b9fbf9bbf94dfabb3826822 Mon Sep 17 00:00:00 2001
+From: Andrey Semashev <Lastique@users.noreply.github.com>
+Date: Thu, 29 Apr 2021 04:58:49 +0300
+Subject: [PATCH] Fix incorrect client_data pointer being set in libjpeg
+ context. (#152)
+
+This fixes incorrect data processing in libjpeg callbacks.
+
+Fixes https://github.com/ImageMagick/ImageMagick6/issues/150
+Fixes https://github.com/ImageMagick/ImageMagick6/issues/151
+---
+ coders/jpeg.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/coders/jpeg.c b/coders/jpeg.c
+index ec1aceff0..c266b5975 100644
+--- a/coders/jpeg.c
++++ b/coders/jpeg.c
+@@ -1199,7 +1199,7 @@ static Image *ReadJPEGImage_(const ImageInfo *image_info,
+ InheritException(exception,&image->exception);
+ return(DestroyImage(image));
+ }
+- jpeg_info->client_data=(void *) &client_info;
++ jpeg_info->client_data=(void *) client_info;
+ jpeg_create_decompress(jpeg_info);
+ if (GetMaxMemoryRequest() != ~0UL)
+ jpeg_info->mem->max_memory_to_use=(long) GetMaxMemoryRequest();
+@@ -2361,7 +2361,7 @@ static MagickBooleanType WriteJPEGImage_(const ImageInfo *image_info,
+ (void) CloseBlob(volatile_image);
+ return(MagickFalse);
+ }
+- jpeg_info->client_data=(void *) &client_info;
++ jpeg_info->client_data=(void *) client_info;
+ jpeg_create_compress(jpeg_info);
+ JPEGDestinationManager(jpeg_info,image);
+ if ((image->columns != (unsigned int) image->columns) ||