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.
This commit is contained in:
Ludovic Courtès 2015-09-30 17:19:27 +02:00
parent 46bd6edd5a
commit 997f86e96b
3 changed files with 12 additions and 31 deletions

View File

@ -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 \

View File

@ -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);

View File

@ -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