From 95418fa2700fa0575670d50dd388953bb03ab42452fc71f242e150a484c9bcfe Mon Sep 17 00:00:00 2001 From: Petr Gajdos Date: Mon, 6 Aug 2018 14:26:22 +0000 Subject: [PATCH 1/3] - update to 7.0.8-9: * XBM coder leaves the hex image data uninitialized if hex value of the pixel is negative. * More improvements to SVG text handling. * New -range threshold option that combines hard and soft thresholding. * Non-HDRI ScaleLongToQuantum() private method no longer adds a half interval. * Fixed memset() negative-size-param (reference https://github.com/ImageMagick/ImageMagick/issues/1217). * Fixed numerous use of uninitialized values, integer overflow, memory exceeded, and timeouts (credit to OSS Fuzz). OBS-URL: https://build.opensuse.org/package/show/graphics/ImageMagick?expand=0&rev=375 --- ImageMagick-7.0.8-6.tar.bz2 | 3 --- ImageMagick-7.0.8-6.tar.bz2.asc | 16 ---------------- ImageMagick-7.0.8-9.tar.bz2 | 3 +++ ImageMagick-7.0.8-9.tar.bz2.asc | 16 ++++++++++++++++ ImageMagick-filter.t.patch | 22 ++++++++++++++++++++++ ImageMagick.changes | 14 ++++++++++++++ ImageMagick.spec | 5 ++++- 7 files changed, 59 insertions(+), 20 deletions(-) delete mode 100644 ImageMagick-7.0.8-6.tar.bz2 delete mode 100644 ImageMagick-7.0.8-6.tar.bz2.asc create mode 100644 ImageMagick-7.0.8-9.tar.bz2 create mode 100644 ImageMagick-7.0.8-9.tar.bz2.asc create mode 100644 ImageMagick-filter.t.patch diff --git a/ImageMagick-7.0.8-6.tar.bz2 b/ImageMagick-7.0.8-6.tar.bz2 deleted file mode 100644 index 12884f8..0000000 --- a/ImageMagick-7.0.8-6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7746e403591efafeb8d75446904271be7ee2cb35872d880ddc94b1bfb0e7a527 -size 10831883 diff --git a/ImageMagick-7.0.8-6.tar.bz2.asc b/ImageMagick-7.0.8-6.tar.bz2.asc deleted file mode 100644 index 486963b..0000000 --- a/ImageMagick-7.0.8-6.tar.bz2.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABAgAGBQJbQzLEAAoJEImrY9SCdzd6+RwP/RzFpR4yXVB8WWxuM+wy5k8J -/xxWjbTnwy1fwDa51bsq7PXGtV7s1+mwXG7yq8s3Tq5F9XchdtP/XmihrBRaG2kX -HymFHvmc89kqA0UwvOf32cw1Mjo9e+6a08gV2LcBtrssvU3xJcNi2RENRfFpMlTf -TpBXsF1uyxhXljqDDgeEBQlcSOlr+uTDmq3bqEpzuIPFnu/80JBkvStUHA/hysTb -8/ytArgwoqPrHpXWJJJK3qD+HQD9jLIVgkwOra8ExhM+95q/SpqdMaujoAhNv1// -/fQosw6+VmYxxgO34UFI44+oRjyHTJI4sZ7QGi98WGr8dvoR8PBUd0MAWDS75F1S -Yuw9Rq8Kewc12D6MulP0gSMlwZPPvS4rC/FrEMn/+qtwPM8PfjqSyYPV4LSUTXbY -B8N9IRRsk0WYmHq54gTv70sJp9UsOyplZ5krInQg4dkwtpXrP6qUcQWvaWPuc22M -IcKwCxVHLfBDryKLxHYBDRwScUYOF7ZWmXVXTi0wdv3wBgkrW44sFVR0phQocN7E -4Z7ZM2vNZmOeqKf/QQ8zYwkquKZ52kdxjcT21WDnnxOTlhCzLw1GOBlyZlGfMJOx -9mqFr1X663jTJaBQsiwY2ifiJ9rHQTZ3lr4g3nAP3MN1iRrqU53BYixoa9CtMsh1 -1lR3v31DZwXBk7Oh0/lL -=9d17 ------END PGP SIGNATURE----- diff --git a/ImageMagick-7.0.8-9.tar.bz2 b/ImageMagick-7.0.8-9.tar.bz2 new file mode 100644 index 0000000..a49edef --- /dev/null +++ b/ImageMagick-7.0.8-9.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0304796d86f47ba9b9448c8e0056884666168b8e60fdf4a34defc82470cf009 +size 10836315 diff --git a/ImageMagick-7.0.8-9.tar.bz2.asc b/ImageMagick-7.0.8-9.tar.bz2.asc new file mode 100644 index 0000000..a07da70 --- /dev/null +++ b/ImageMagick-7.0.8-9.tar.bz2.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJbaEG5AAoJEImrY9SCdzd6el0QAKWBfrhgLkTbD2AYzBw3wopU +tzHFRFKwwLZAm//g4rjFA05kvqxyPVKh0p/jnQx5HFsbmhVoBB+Pa6HwB27bvROD +UYghMgwYkIKU2hmYJujdXA+ahcC5IyWC1Q5wgTwkD30ZbsmnFCmVXz6g1akkjYPs +aPnrkTSVhSAtPJkhHu+KjiCwJOHqZPa66LtdBKCZVtYv5wvwi2tHHFpyR07FczQj +JA6HIjYsbT5PBqnefhaAfYAQoyhol6QNo6V31b/UzV4/wTg/5CEDtfjBIUxsgAy+ +EzEtfdZiMt+a/0qtBYujHxC5WSdZo16IHsSMtTYAVyvdS0aFLMYI5XMM3XY6xWd2 +LFnTsRn5WBgp60/+eiNUrZL37CGoJBGYoOfEuFVaEQSjjPG7tgBSJ9Y52lt00t8r +W3edQWf6oqdDN3RW5A4UWJqiwZYYAiMhq5Hq8xuVLW0LEEiYFv7bJdlFxlYq0rfh +aMepcqidle4uBek0F0kya77nncQEQsgSp5zPPftDluJ9NT66HHuAN5nCFEeNTZX2 +wEc/BE9R3+SjY6ZINwwYICwI3sxJk5U9sFp8OM++0cAnjNu/2IgBhUUdSE4atJkM +2jPZ23hOmNwW3qyqDWNN0MhFRr8hhxM1l08IdUFKgeZ4OETGAU5t4WWzIAWeWT9+ +6wT99tM1Nl8vz7IYftSZ +=XrrC +-----END PGP SIGNATURE----- diff --git a/ImageMagick-filter.t.patch b/ImageMagick-filter.t.patch new file mode 100644 index 0000000..6cc101c --- /dev/null +++ b/ImageMagick-filter.t.patch @@ -0,0 +1,22 @@ +Index: ImageMagick-7.0.8-9/PerlMagick/t/filter.t +=================================================================== +--- ImageMagick-7.0.8-9.orig/PerlMagick/t/filter.t 2018-08-06 00:27:10.000000000 +0200 ++++ ImageMagick-7.0.8-9/PerlMagick/t/filter.t 2018-08-06 15:58:12.191924568 +0200 +@@ -189,7 +189,7 @@ testFilterCompare('input.miff', q//, 'r + testFilterCompare('input.miff', q//, 'reference/filter/Solarize.miff', 'Solarize', q//, 0.0, 0.0); + ++$test; + +-testFilterCompare('input.miff', q//, 'reference/filter/Swirl.miff', 'Swirl', q/90/, 0.0, 0.0); ++testFilterCompare('input.miff', q//, 'reference/filter/Swirl.miff', 'Swirl', q/90/, 0.01, 0.8); + ++$test; + + testFilterCompare('input.miff', q//, 'reference/filter/Threshold.miff', 'Threshold', q/90%/, 0.0, 0.0); +@@ -201,7 +201,7 @@ testFilterCompare('input.miff', q//, 'r + testFilterCompare('input.miff', q//, 'reference/filter/UnsharpMask.miff', 'UnsharpMask', q/'5x2+1'/, 0.004, 0.4); + ++$test; + +-testFilterCompare('input.miff', q//, 'reference/filter/Wave.miff', 'Wave', q/'25x150'/, 0.0, 0.0); ++testFilterCompare('input.miff', q//, 'reference/filter/Wave.miff', 'Wave', q/'25x150'/, 0.4, 1.0); + ++$test; + + 1; diff --git a/ImageMagick.changes b/ImageMagick.changes index 763ec81..0f5910f 100644 --- a/ImageMagick.changes +++ b/ImageMagick.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Aug 6 13:42:03 UTC 2018 - pgajdos@suse.com + +- update to 7.0.8-9: + * XBM coder leaves the hex image data uninitialized if hex value of the + pixel is negative. + * More improvements to SVG text handling. + * New -range threshold option that combines hard and soft thresholding. + * Non-HDRI ScaleLongToQuantum() private method no longer adds a half interval. + * Fixed memset() negative-size-param (reference + https://github.com/ImageMagick/ImageMagick/issues/1217). + * Fixed numerous use of uninitialized values, integer overflow, memory + exceeded, and timeouts (credit to OSS Fuzz). + ------------------------------------------------------------------- Tue Jul 17 07:58:49 UTC 2018 - pgajdos@suse.com diff --git a/ImageMagick.spec b/ImageMagick.spec index 8412162..73d97e1 100644 --- a/ImageMagick.spec +++ b/ImageMagick.spec @@ -18,7 +18,7 @@ %define maj 7 %define mfr_version %{maj}.0.8 -%define mfr_revision 6 +%define mfr_revision 9 %define quantum_depth 16 %define source_version %{mfr_version}-%{mfr_revision} %define clibver 6 @@ -45,6 +45,8 @@ Patch2: ImageMagick-library-installable-in-parallel.patch #%%ifarch s390x s390 ppc64 ppc Patch3: ImageMagick-s390-disable-tests.patch #%%endif +# https://github.com/ImageMagick/ImageMagick/issues/1241 +Patch4: ImageMagick-filter.t.patch BuildRequires: chrpath BuildRequires: dos2unix BuildRequires: fdupes @@ -296,6 +298,7 @@ HTML documentation for ImageMagick library and scene examples. %ifarch s390x s390 ppc ppc64 %patch3 -p1 %endif +%patch4 -p1 %build # bsc#1088463 From 1dbfa5611ea8691631497bd87081d8f9e4f4252cba88be8bd21cb0abb768b481 Mon Sep 17 00:00:00 2001 From: Petr Gajdos Date: Mon, 6 Aug 2018 14:28:04 +0000 Subject: [PATCH 2/3] - fixed tests by ImageMagick-filter.t.patch https://github.com/ImageMagick/ImageMagick/issues/1241 OBS-URL: https://build.opensuse.org/package/show/graphics/ImageMagick?expand=0&rev=376 --- ImageMagick.changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ImageMagick.changes b/ImageMagick.changes index 0f5910f..f276e77 100644 --- a/ImageMagick.changes +++ b/ImageMagick.changes @@ -11,6 +11,8 @@ Mon Aug 6 13:42:03 UTC 2018 - pgajdos@suse.com https://github.com/ImageMagick/ImageMagick/issues/1217). * Fixed numerous use of uninitialized values, integer overflow, memory exceeded, and timeouts (credit to OSS Fuzz). +- fixed tests by ImageMagick-filter.t.patch + https://github.com/ImageMagick/ImageMagick/issues/1241 ------------------------------------------------------------------- Tue Jul 17 07:58:49 UTC 2018 - pgajdos@suse.com From fe7004a2520f17166e574b792166b85a803cb1b686afb1cfb307d825276d7f9d Mon Sep 17 00:00:00 2001 From: Petr Gajdos Date: Tue, 7 Aug 2018 12:14:21 +0000 Subject: [PATCH 3/3] OBS-URL: https://build.opensuse.org/package/show/graphics/ImageMagick?expand=0&rev=377 --- ImageMagick-filter.t.patch | 69 ++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 21 deletions(-) diff --git a/ImageMagick-filter.t.patch b/ImageMagick-filter.t.patch index 6cc101c..fb35f94 100644 --- a/ImageMagick-filter.t.patch +++ b/ImageMagick-filter.t.patch @@ -1,22 +1,49 @@ -Index: ImageMagick-7.0.8-9/PerlMagick/t/filter.t -=================================================================== ---- ImageMagick-7.0.8-9.orig/PerlMagick/t/filter.t 2018-08-06 00:27:10.000000000 +0200 -+++ ImageMagick-7.0.8-9/PerlMagick/t/filter.t 2018-08-06 15:58:12.191924568 +0200 -@@ -189,7 +189,7 @@ testFilterCompare('input.miff', q//, 'r - testFilterCompare('input.miff', q//, 'reference/filter/Solarize.miff', 'Solarize', q//, 0.0, 0.0); - ++$test; +diff --git a/MagickCore/fx.c b/MagickCore/fx.c +index 75b2b98c16..3bdc468273 100644 +--- a/MagickCore/fx.c ++++ b/MagickCore/fx.c +@@ -3394,7 +3394,7 @@ MagickExport Image *ImplodeImage(const Image *image,const double amount, + delta.x=scale.x*(double) (x-center.x); + distance=delta.x*delta.x+delta.y*delta.y; + if ((distance >= (radius*radius)) || +- (GetPixelWriteMask(canvas_image,p) > (QuantumRange/2))) ++ (GetPixelWriteMask(canvas_image,p) <= (QuantumRange/2))) + for (i=0; i < (ssize_t) GetPixelChannels(canvas_image); i++) + { + PixelChannel channel = GetPixelChannelChannel(canvas_image,i); +@@ -5227,7 +5227,7 @@ MagickExport Image *SwirlImage(const Image *image,double degrees, + delta.x=scale.x*(double) (x-center.x); + distance=delta.x*delta.x+delta.y*delta.y; + if ((distance >= (radius*radius)) || +- (GetPixelWriteMask(canvas_image,p) > (QuantumRange/2))) ++ (GetPixelWriteMask(canvas_image,p) <= (QuantumRange/2))) + { + register ssize_t + i; +@@ -5729,7 +5729,7 @@ MagickExport Image *WaveImage(const Image *image,const double amplitude, + } + for (x=0; x < (ssize_t) wave_image->columns; x++) + { +- if (GetPixelWriteMask(image,p) > (QuantumRange/2)) ++ if (GetPixelWriteMask(image,p) <= (QuantumRange/2)) + { + register ssize_t + i; +diff --git a/MagickCore/image.c b/MagickCore/image.c +index a74ba1118c..310eb535cc 100644 +--- a/MagickCore/image.c ++++ b/MagickCore/image.c +@@ -3374,10 +3374,10 @@ MagickExport MagickBooleanType SetImageRegionMask(Image *image, + Quantum + pixel; --testFilterCompare('input.miff', q//, 'reference/filter/Swirl.miff', 'Swirl', q/90/, 0.0, 0.0); -+testFilterCompare('input.miff', q//, 'reference/filter/Swirl.miff', 'Swirl', q/90/, 0.01, 0.8); - ++$test; - - testFilterCompare('input.miff', q//, 'reference/filter/Threshold.miff', 'Threshold', q/90%/, 0.0, 0.0); -@@ -201,7 +201,7 @@ testFilterCompare('input.miff', q//, 'r - testFilterCompare('input.miff', q//, 'reference/filter/UnsharpMask.miff', 'UnsharpMask', q/'5x2+1'/, 0.004, 0.4); - ++$test; - --testFilterCompare('input.miff', q//, 'reference/filter/Wave.miff', 'Wave', q/'25x150'/, 0.0, 0.0); -+testFilterCompare('input.miff', q//, 'reference/filter/Wave.miff', 'Wave', q/'25x150'/, 0.4, 1.0); - ++$test; - - 1; +- pixel=QuantumRange; ++ pixel=(Quantum) 0; + if (((x >= region->x) && (x < (region->x+(ssize_t) region->width))) && + ((y >= region->y) && (y < (region->y+(ssize_t) region->height)))) +- pixel=(Quantum) 0; ++ pixel=QuantumRange; + switch (type) + { + case ReadPixelMask: +