~ruther/guix-local

997f86e96b003462751e4bde4397aec34090dc48 — Ludovic Courtès 10 years ago 46bd6ed
gnu: pixman: Update to 0.32.8.

* gnu/packages/xdisorg.scm (pixman): Update to 0.32.8.
* gnu/packages/patches/pixman-pointer-arithmetic.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
3 files changed, 12 insertions(+), 31 deletions(-)

M gnu-system.am
D gnu/packages/patches/pixman-pointer-arithmetic.patch
M gnu/packages/xdisorg.scm
M gnu-system.am => gnu-system.am +0 -1
@@ 589,7 589,6 @@ dist_patch_DATA =						\
  gnu/packages/patches/perl-tk-x11-discover.patch		\
  gnu/packages/patches/pidgin-add-search-path.patch		\
  gnu/packages/patches/pingus-sdl-libs-config.patch		\
  gnu/packages/patches/pixman-pointer-arithmetic.patch		\
  gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
  gnu/packages/patches/polkit-drop-test.patch			\
  gnu/packages/patches/portaudio-audacity-compat.patch		\

D gnu/packages/patches/pixman-pointer-arithmetic.patch => gnu/packages/patches/pixman-pointer-arithmetic.patch +0 -15
@@ 1,15 0,0 @@
Fix <https://bugs.freedesktop.org/show_bug.cgi?id=92027> whereby
an arithemitic overflow could occur while doing pointer arithmetic,
leading pixman to use an invalid address as the destination buffer.

--- pixman-0.32.6/pixman/pixman-general.c	2015-09-21 15:14:34.695981325 +0200
+++ pixman-0.32.6/pixman/pixman-general.c	2015-09-21 15:19:48.898355548 +0200
@@ -144,8 +144,7 @@ general_composite_rect  (pixman_implemen
     mask_buffer = ALIGN (src_buffer + width * Bpp);
     dest_buffer = ALIGN (mask_buffer + width * Bpp);
 
-    if (ALIGN (dest_buffer + width * Bpp) >
-	    scanline_buffer + sizeof (stack_scanline_buffer))
+    if ((width + 1) * Bpp * 3 > sizeof (stack_scanline_buffer))
     {
 	scanline_buffer = pixman_malloc_ab_plus_c (width, Bpp * 3, 32 * 3);

M gnu/packages/xdisorg.scm => gnu/packages/xdisorg.scm +12 -15
@@ 171,24 171,21 @@ following the mouse.")
(define-public pixman
  (package
    (name "pixman")
    (version "0.32.6")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "http://cairographics.org/releases/pixman-"
               version
               ".tar.gz"))
        (sha256
          (base32
           "0129g4zdrw5hif5783li7rzcr4vpbc2cfia91azxmsk0h0xx3zix"))
        (patches (list (search-patch "pixman-pointer-arithmetic.patch")))))
    (version "0.32.8")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "http://cairographics.org/releases/pixman-"
                    version ".tar.gz"))
              (sha256
               (base32
                "0pfn0247sjsi95kwjih0wwqpp28wadihqk1bn28x6iqbqhbxwnjp"))))
    (build-system gnu-build-system)
    (inputs
      `(("libpng" ,libpng)
        ("zlib" ,zlib)))
     `(("libpng" ,libpng)
       ("zlib" ,zlib)))
    (native-inputs
      `(("pkg-config" ,pkg-config)))
     `(("pkg-config" ,pkg-config)))
    (home-page "http://www.pixman.org/")
    (synopsis "Low-level pixel manipulation library")
    (description "Pixman is a low-level software library for pixel