gdk-pixbuf: updated to 2.31.7

This commit is contained in:
Fredrik Rinnestam 2015-09-03 13:10:38 +02:00
parent 6c72d47a6e
commit 17bc714d2d
4 changed files with 8 additions and 89 deletions

View File

@ -62,13 +62,13 @@ drwxr-xr-x root/root usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/
drwxr-xr-x root/root usr/lib/girepository-1.0/
-rw-r--r-- root/root usr/lib/girepository-1.0/GdkPixbuf-2.0.typelib
-rwxr-xr-x root/root usr/lib/libgdk_pixbuf-2.0.la
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf-2.0.so -> libgdk_pixbuf-2.0.so.0.3100.6
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf-2.0.so.0 -> libgdk_pixbuf-2.0.so.0.3100.6
-rwxr-xr-x root/root usr/lib/libgdk_pixbuf-2.0.so.0.3100.6
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf-2.0.so -> libgdk_pixbuf-2.0.so.0.3100.7
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf-2.0.so.0 -> libgdk_pixbuf-2.0.so.0.3100.7
-rwxr-xr-x root/root usr/lib/libgdk_pixbuf-2.0.so.0.3100.7
-rwxr-xr-x root/root usr/lib/libgdk_pixbuf_xlib-2.0.la
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf_xlib-2.0.so -> libgdk_pixbuf_xlib-2.0.so.0.3100.6
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf_xlib-2.0.so.0 -> libgdk_pixbuf_xlib-2.0.so.0.3100.6
-rwxr-xr-x root/root usr/lib/libgdk_pixbuf_xlib-2.0.so.0.3100.6
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf_xlib-2.0.so -> libgdk_pixbuf_xlib-2.0.so.0.3100.7
lrwxrwxrwx root/root usr/lib/libgdk_pixbuf_xlib-2.0.so.0 -> libgdk_pixbuf_xlib-2.0.so.0.3100.7
-rwxr-xr-x root/root usr/lib/libgdk_pixbuf_xlib-2.0.so.0.3100.7
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/gdk-pixbuf-2.0.pc
-rw-r--r-- root/root usr/lib/pkgconfig/gdk-pixbuf-xlib-2.0.pc

View File

@ -1,3 +1,3 @@
67219eb45ed0aba90b3158042b909d4e gdk-pixbuf-2.31.6.tar.xz
8a42218ed76a75e38dc737c0c5d30190 gdk-pixbuf-2.31.7.tar.xz
d5311640870a5de1dc8aefcb4509a99d gdk-pixbuf-register.sh
94f3472231326d5352d007497db82798 gdk-pixbuf.loaders

View File

@ -1,81 +0,0 @@
From 62eab9b3d73a07f1b1821ff05eda6ccf5e2c5901 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Mon, 13 Jul 2015 00:33:40 -0400
Subject: [PATCH] pixops: Be more careful about integer overflow
Our loader code is supposed to handle out-of-memory and overflow
situations gracefully, reporting errors instead of aborting. But
if you load an image at a specific size, we also execute our
scaling code, which was not careful enough about overflow in some
places. This commit makes the scaling code silently return if
it fails to allocate filter tables.
https://bugzilla.gnome.org/show_bug.cgi?id=752297
---
gdk-pixbuf/pixops/pixops.c | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c
index 29a1c14..226ad09 100644
--- a/gdk-pixbuf/pixops/pixops.c
+++ b/gdk-pixbuf/pixops/pixops.c
@@ -1272,7 +1272,16 @@ make_filter_table (PixopsFilter *filter)
int i_offset, j_offset;
int n_x = filter->x.n;
int n_y = filter->y.n;
- int *weights = g_new (int, SUBSAMPLE * SUBSAMPLE * n_x * n_y);
+ gsize n_weights;
+ int *weights;
+
+ n_weights = SUBSAMPLE * SUBSAMPLE * n_x * n_y;
+ if (n_weights / (SUBSAMPLE * SUBSAMPLE) != n_x * n_y)
+ return NULL; /* overflow, bail */
+
+ weights = g_new (int, n_weights);
+ if (!weights)
+ return NULL; /* overflow, bail */
for (i_offset=0; i_offset < SUBSAMPLE; i_offset++)
for (j_offset=0; j_offset < SUBSAMPLE; j_offset++)
@@ -1347,8 +1356,11 @@ pixops_process (guchar *dest_buf,
if (x_step == 0 || y_step == 0)
return; /* overflow, bail out */
- line_bufs = g_new (guchar *, filter->y.n);
filter_weights = make_filter_table (filter);
+ if (!filter_weights)
+ return; /* overflow, bail out */
+
+ line_bufs = g_new (guchar *, filter->y.n);
check_shift = check_size ? get_check_shift (check_size) : 0;
@@ -1468,7 +1480,7 @@ tile_make_weights (PixopsFilterDimension *dim,
double scale)
{
int n = ceil (1 / scale + 1);
- double *pixel_weights = g_new (double, SUBSAMPLE * n);
+ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
int offset;
int i;
@@ -1526,7 +1538,7 @@ bilinear_magnify_make_weights (PixopsFilterDimension *dim,
}
dim->n = n;
- dim->weights = g_new (double, SUBSAMPLE * n);
+ dim->weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
pixel_weights = dim->weights;
@@ -1617,7 +1629,7 @@ bilinear_box_make_weights (PixopsFilterDimension *dim,
double scale)
{
int n = ceil (1/scale + 3.0);
- double *pixel_weights = g_new (double, SUBSAMPLE * n);
+ double *pixel_weights = g_malloc_n (sizeof (double) * SUBSAMPLE, n);
double w;
int offset, i;
--
2.4.3

View File

@ -4,7 +4,7 @@
# Depends on: gobject-introspection libpng libtiff xorg-libx11
name=gdk-pixbuf
version=2.31.6
version=2.31.7
release=1
source=(http://download.gnome.org/sources/$name/2.31/$name-$version.tar.xz \
gdk-pixbuf.loaders gdk-pixbuf-register.sh)