diff --git a/cairo/.footprint b/cairo/.footprint index b90ae383f..27d5814ac 100644 --- a/cairo/.footprint +++ b/cairo/.footprint @@ -32,19 +32,19 @@ drwxr-xr-x root/root usr/lib/cairo/ -rwxr-xr-x root/root usr/lib/cairo/libcairo-trace.so -rw-r--r-- root/root usr/lib/libcairo-gobject.a -rwxr-xr-x root/root usr/lib/libcairo-gobject.la -lrwxrwxrwx root/root usr/lib/libcairo-gobject.so -> libcairo-gobject.so.2.11510.0 -lrwxrwxrwx root/root usr/lib/libcairo-gobject.so.2 -> libcairo-gobject.so.2.11510.0 --rwxr-xr-x root/root usr/lib/libcairo-gobject.so.2.11510.0 +lrwxrwxrwx root/root usr/lib/libcairo-gobject.so -> libcairo-gobject.so.2.11512.0 +lrwxrwxrwx root/root usr/lib/libcairo-gobject.so.2 -> libcairo-gobject.so.2.11512.0 +-rwxr-xr-x root/root usr/lib/libcairo-gobject.so.2.11512.0 -rw-r--r-- root/root usr/lib/libcairo-script-interpreter.a -rwxr-xr-x root/root usr/lib/libcairo-script-interpreter.la -lrwxrwxrwx root/root usr/lib/libcairo-script-interpreter.so -> libcairo-script-interpreter.so.2.11510.0 -lrwxrwxrwx root/root usr/lib/libcairo-script-interpreter.so.2 -> libcairo-script-interpreter.so.2.11510.0 --rwxr-xr-x root/root usr/lib/libcairo-script-interpreter.so.2.11510.0 +lrwxrwxrwx root/root usr/lib/libcairo-script-interpreter.so -> libcairo-script-interpreter.so.2.11512.0 +lrwxrwxrwx root/root usr/lib/libcairo-script-interpreter.so.2 -> libcairo-script-interpreter.so.2.11512.0 +-rwxr-xr-x root/root usr/lib/libcairo-script-interpreter.so.2.11512.0 -rw-r--r-- root/root usr/lib/libcairo.a -rwxr-xr-x root/root usr/lib/libcairo.la -lrwxrwxrwx root/root usr/lib/libcairo.so -> libcairo.so.2.11510.0 -lrwxrwxrwx root/root usr/lib/libcairo.so.2 -> libcairo.so.2.11510.0 --rwxr-xr-x root/root usr/lib/libcairo.so.2.11510.0 +lrwxrwxrwx root/root usr/lib/libcairo.so -> libcairo.so.2.11512.0 +lrwxrwxrwx root/root usr/lib/libcairo.so.2 -> libcairo.so.2.11512.0 +-rwxr-xr-x root/root usr/lib/libcairo.so.2.11512.0 drwxr-xr-x root/root usr/lib/pkgconfig/ -rw-r--r-- root/root usr/lib/pkgconfig/cairo-fc.pc -rw-r--r-- root/root usr/lib/pkgconfig/cairo-ft.pc diff --git a/cairo/.md5sum b/cairo/.md5sum deleted file mode 100644 index 8be9d593e..000000000 --- a/cairo/.md5sum +++ /dev/null @@ -1,4 +0,0 @@ -a3d7abd8e20b780f76300a76a4a4d963 0001-image-prevent-invalid-ptr-access-for-4GB-images.patch -f060381576d67c855fad03e327fc9a69 cairo-1.15.10.tar.xz -bff33916d8b44e9c3f0f3e6644e61bfc cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff -d602f595c5800bf470c33cd1af7541d1 cairo-xlib-endianness.patch diff --git a/cairo/.signature b/cairo/.signature index 63d22bc68..951f54c52 100644 --- a/cairo/.signature +++ b/cairo/.signature @@ -1,8 +1,7 @@ untrusted comment: verify with /etc/ports/opt.pub -RWSE3ohX2g5d/d3HDpfJuuzMp1HVp/CKhvxK8fRIGDpj5Uj1h4EpLRe7oWemF5/GmYZj08WvWcly2+aINQtDwpDCpTXWIS9EjAg= -SHA256 (Pkgfile) = 88f9d4ef4ec2177303d9a976ee1e161784dfee4cfd19e28429f38b33af039fa9 -SHA256 (.footprint) = e4abb8423e262c6654e1f6f886c7463ce4280bb872f57683bd50ad8e2e8696c0 -SHA256 (cairo-1.15.10.tar.xz) = 62ca226134cf2f1fd114bea06f8b374eb37f35d8e22487eaa54d5e9428958392 +RWSE3ohX2g5d/V75ES4q1n9EY83IKCmziYAj9t6xNSNYo4sh8P4AiARtEfptt1tLaoGT6sBhHWM23u0Yfa4pBWwhrNgpQVvLSgw= +SHA256 (Pkgfile) = 14f7a26a21078cf11c17c665a7b99955815ff1230bf7b809e92b4d49320c7e43 +SHA256 (.footprint) = 3be630129dac3c62c076c58816da878d379a462622fea9c673ed5b53a166980c +SHA256 (cairo-1.15.12.tar.xz) = 7623081b94548a47ee6839a7312af34e9322997806948b6eec421a8c6d0594c9 SHA256 (cairo-xlib-endianness.patch) = 58d39311edee6d8ddf76deac1d2e3526b4c02d4aa1f35a6ca16ff50c8e65429f SHA256 (cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff) = 4c8b8095a41f244ddfbc9b24e2f73a6fd8d697f43903617e0519b95b27b30726 -SHA256 (0001-image-prevent-invalid-ptr-access-for-4GB-images.patch) = 79cb7b65d1079efb36ee62ec5ddf6e930dc24e0fd3ac4d914aadf98afb15c8f8 diff --git a/cairo/0001-image-prevent-invalid-ptr-access-for-4GB-images.patch b/cairo/0001-image-prevent-invalid-ptr-access-for-4GB-images.patch deleted file mode 100644 index b456f04fd..000000000 --- a/cairo/0001-image-prevent-invalid-ptr-access-for-4GB-images.patch +++ /dev/null @@ -1,122 +0,0 @@ -From c812d1c1935cccf096a60ad904e640fdc83bd41c Mon Sep 17 00:00:00 2001 -From: Adrian Johnson -Date: Thu, 20 Oct 2016 21:12:30 +1030 -Subject: [PATCH] image: prevent invalid ptr access for > 4GB images - -Image data is often accessed using: - - image->data + y * image->stride - -On 64-bit achitectures if the image data is > 4GB, this computation -will overflow since both y and stride are 32-bit types. - -https://bugs.freedesktop.org/show_bug.cgi?id=98165 ---- - boilerplate/cairo-boilerplate.c | 4 +++- - src/cairo-image-compositor.c | 4 ++-- - src/cairo-image-surface-private.h | 2 +- - src/cairo-mesh-pattern-rasterizer.c | 2 +- - src/cairo-png.c | 2 +- - src/cairo-script-surface.c | 3 ++- - 6 files changed, 10 insertions(+), 7 deletions(-) - -diff --git a/boilerplate/cairo-boilerplate.c b/boilerplate/cairo-boilerplate.c -index 7fdbf79..4804dea 100644 ---- a/boilerplate/cairo-boilerplate.c -+++ b/boilerplate/cairo-boilerplate.c -@@ -42,6 +42,7 @@ - #undef CAIRO_VERSION_H - #include "../cairo-version.h" - -+#include - #include - #include - #include -@@ -976,7 +977,8 @@ cairo_surface_t * - cairo_boilerplate_image_surface_create_from_ppm_stream (FILE *file) - { - char format; -- int width, height, stride; -+ int width, height; -+ ptrdiff_t stride; - int x, y; - unsigned char *data; - cairo_surface_t *image = NULL; -diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c -index 48072f8..3ca0006 100644 ---- a/src/cairo-image-compositor.c -+++ b/src/cairo-image-compositor.c -@@ -1575,7 +1575,7 @@ typedef struct _cairo_image_span_renderer { - pixman_image_t *src, *mask; - union { - struct fill { -- int stride; -+ ptrdiff_t stride; - uint8_t *data; - uint32_t pixel; - } fill; -@@ -1594,7 +1594,7 @@ typedef struct _cairo_image_span_renderer { - struct finish { - cairo_rectangle_int_t extents; - int src_x, src_y; -- int stride; -+ ptrdiff_t stride; - uint8_t *data; - } mask; - } u; -diff --git a/src/cairo-image-surface-private.h b/src/cairo-image-surface-private.h -index 8ca694c..7e78d61 100644 ---- a/src/cairo-image-surface-private.h -+++ b/src/cairo-image-surface-private.h -@@ -71,7 +71,7 @@ struct _cairo_image_surface { - - int width; - int height; -- int stride; -+ ptrdiff_t stride; - int depth; - - unsigned owns_data : 1; -diff --git a/src/cairo-mesh-pattern-rasterizer.c b/src/cairo-mesh-pattern-rasterizer.c -index 1b63ca8..e7f0db6 100644 ---- a/src/cairo-mesh-pattern-rasterizer.c -+++ b/src/cairo-mesh-pattern-rasterizer.c -@@ -470,7 +470,7 @@ draw_pixel (unsigned char *data, int width, int height, int stride, - tg += tg >> 16; - tb += tb >> 16; - -- *((uint32_t*) (data + y*stride + 4*x)) = ((ta << 16) & 0xff000000) | -+ *((uint32_t*) (data + y*(ptrdiff_t)stride + 4*x)) = ((ta << 16) & 0xff000000) | - ((tr >> 8) & 0xff0000) | ((tg >> 16) & 0xff00) | (tb >> 24); - } - } -diff --git a/src/cairo-png.c b/src/cairo-png.c -index 562b743..aa8c227 100644 ---- a/src/cairo-png.c -+++ b/src/cairo-png.c -@@ -673,7 +673,7 @@ read_png (struct png_read_closure_t *png_closure) - } - - for (i = 0; i < png_height; i++) -- row_pointers[i] = &data[i * stride]; -+ row_pointers[i] = &data[i * (ptrdiff_t)stride]; - - png_read_image (png, row_pointers); - png_read_end (png, info); -diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c -index ea0117d..91e4baa 100644 ---- a/src/cairo-script-surface.c -+++ b/src/cairo-script-surface.c -@@ -1202,7 +1202,8 @@ static cairo_status_t - _write_image_surface (cairo_output_stream_t *output, - const cairo_image_surface_t *image) - { -- int stride, row, width; -+ int row, width; -+ ptrdiff_t stride; - uint8_t row_stack[CAIRO_STACK_BUFFER_SIZE]; - uint8_t *rowdata; - uint8_t *data; --- -2.1.4 - diff --git a/cairo/Pkgfile b/cairo/Pkgfile index 1d6c5f133..8c594032a 100644 --- a/cairo/Pkgfile +++ b/cairo/Pkgfile @@ -4,18 +4,16 @@ # Depends on: fontconfig, xorg-libxext, xorg-libxrender, xorg-libpixman, xorg-xcb-util, glib name=cairo -version=1.15.10 +version=1.15.12 release=1 source=(https://cairographics.org/snapshots/cairo-$version.tar.xz cairo-xlib-endianness.patch - cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff - 0001-image-prevent-invalid-ptr-access-for-4GB-images.patch) + cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff) build() { cd $name-$version patch -p1 -i $SRC/cairo-xlib-endianness.patch patch -p1 -i $SRC/cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff - #patch -p1 -i $SRC/0001-image-prevent-invalid-ptr-access-for-4GB-images.patch ./configure --prefix=/usr \ --enable-xcb=yes \