[gimp] fix crash in unsharp-mask plug-in (#966987)

Nils Philippsen nphilipp at fedoraproject.org
Wed May 29 15:03:40 UTC 2013


commit 0b7bfd79b529b74f3afdeee401833333d2e50c1b
Author: Nils Philippsen <nils at redhat.com>
Date:   Mon May 27 15:24:55 2013 +0200

    fix crash in unsharp-mask plug-in (#966987)

 gimp-2.8.4-unsharp-mask-crash.patch |   52 +++++++++++++++++++++++++++++++++++
 gimp.spec                           |    7 ++++-
 2 files changed, 58 insertions(+), 1 deletions(-)
---
diff --git a/gimp-2.8.4-unsharp-mask-crash.patch b/gimp-2.8.4-unsharp-mask-crash.patch
new file mode 100644
index 0000000..68b5290
--- /dev/null
+++ b/gimp-2.8.4-unsharp-mask-crash.patch
@@ -0,0 +1,52 @@
+From 3ea3dc0347ecf0fd2df4b1ca25666e2a78da150c Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils at redhat.com>
+Date: Mon, 27 May 2013 14:33:28 +0200
+Subject: [PATCH] patch: unsharp-mask-crash
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Squashed commit of the following:
+
+commit a8748094ec325bfeb856c603ece8c2026f0968ea
+Author: Téo Mazars <teo.mazars at ensimag.fr>
+Date:   Sun Apr 7 22:29:56 2013 +0200
+
+    Bug 695418 - Unsharp mask crashes for large radii
+
+    Make sure we are working on the image range
+    (cherry picked from commit 35cc644765c553b6feb24bd56133b6f9f74ed5e4)
+---
+ plug-ins/common/unsharp-mask.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/plug-ins/common/unsharp-mask.c b/plug-ins/common/unsharp-mask.c
+index e6e3ad8..998c96e 100644
+--- a/plug-ins/common/unsharp-mask.c
++++ b/plug-ins/common/unsharp-mask.c
+@@ -369,7 +369,7 @@ box_blur_line (const gint    box_width,   /* Width of the kernel           */
+       /* If the leading edge has gone off the image, but the output and
+        * trailing edge are on the image. (The big loop exits when the
+        * output goes off the image. */
+-      else
++      else if (trail >= 0)
+         {
+           for (i = 0; i < bpp; i++)
+             {
+@@ -377,6 +377,13 @@ box_blur_line (const gint    box_width,   /* Width of the kernel           */
+               dest[bpp * output + i] = (ac[i] + (coverage >> 1)) / coverage;
+             }
+         }
++      /* Leading has gone off the image and trailing isn't yet in it
++       * (small image) */
++      else if (output >= 0)
++        {
++          for (i = 0; i < bpp; i++)
++            dest[bpp * output + i] = (ac[i] + (coverage >> 1)) / coverage;
++        }
+ 
+       lead++;
+       output++;
+-- 
+1.8.1.4
+
diff --git a/gimp.spec b/gimp.spec
index 6c6b948..0028303 100644
--- a/gimp.spec
+++ b/gimp.spec
@@ -215,6 +215,9 @@ Patch4:         gimp-2.8.4-tag-popup-crash.patch
 # Fix double-free crashes when selecting gradients from script-fu.
 # Upstream commit 15c5a9db32d49b22260ffde0202f39284b99d936
 Patch5:         gimp-2.8.4-script-fu-gradient.patch
+# Fix crashes in unsharp-mask plug-in.
+# Upstream commit 38d8312fdebee98a20b33807b09d8a832a4b97b7
+Patch6:         gimp-2.8.4-unsharp-mask-crash.patch
 
 %description
 GIMP (GNU Image Manipulation Program) is a powerful image composition and
@@ -305,6 +308,7 @@ EOF
 %patch3 -p1 -b .mime-types
 %patch4 -p1 -b .tag-popup-crash
 %patch5 -p1 -b .script-fu-gradient
+%patch6 -p1 -b .unsharp-mask-crash
 
 %build
 %if %{with hardening}
@@ -599,9 +603,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %endif
 
 %changelog
-* Wed May 22 2013 Nils Philippsen <nils at redhat.com>
+* Mon May 27 2013 Nils Philippsen <nils at redhat.com>
 - fix upstream commit ids
 - fix double-free crashes when selecting gradients from script-fu (#964470)
+- fix crash in unsharp-mask plug-in (#966987)
 
 * Sat Apr 20 2013 Nils Philippsen <nils at redhat.com> - 2:2.8.4-3
 - don't crash upon deleting tags in popup (#892828)


More information about the scm-commits mailing list