From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id E06A213888F for ; Tue, 13 Oct 2015 01:08:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B67C2E0762; Tue, 13 Oct 2015 01:08:03 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 16BF1E0762 for ; Tue, 13 Oct 2015 01:08:02 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B8EF734084A for ; Tue, 13 Oct 2015 01:08:01 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id CD9FDF6F for ; Tue, 13 Oct 2015 01:07:58 +0000 (UTC) From: "Alexandre Rostovtsev" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexandre Rostovtsev" Message-ID: <1444698448.5c40e790f98ae9099dd6996b52f2a819ca8235c1.tetromino@gentoo> Subject: [gentoo-commits] proj/gnome:master commit in: x11-libs/gdk-pixbuf/files/, x11-libs/gdk-pixbuf/ X-VCS-Repository: proj/gnome X-VCS-Files: x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-alpha-overflow.patch x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-jpeg-overflow.patch x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-gcc-optimizer.patch x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-overflow.patch x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-variable-type.patch x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-png-overflow.patch x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-rotate-overflow.patch x11-libs/gdk-pixbuf/gdk-pixbuf-2.31.6.ebuild X-VCS-Directories: x11-libs/gdk-pixbuf/files/ x11-libs/gdk-pixbuf/ X-VCS-Committer: tetromino X-VCS-Committer-Name: Alexandre Rostovtsev X-VCS-Revision: 5c40e790f98ae9099dd6996b52f2a819ca8235c1 X-VCS-Branch: master Date: Tue, 13 Oct 2015 01:07:58 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 444f0f0f-a6f0-4067-9edb-65e6cbaef4a2 X-Archives-Hash: 561e8e63ca80f37dd03b1190f64b4d4e commit: 5c40e790f98ae9099dd6996b52f2a819ca8235c1 Author: Alexandre Rostovtsev gentoo org> AuthorDate: Tue Oct 13 01:07:28 2015 +0000 Commit: Alexandre Rostovtsev gentoo org> CommitDate: Tue Oct 13 01:07:28 2015 +0000 URL: https://gitweb.gentoo.org/proj/gnome.git/commit/?id=5c40e790 x11-libs/gdk-pixbuf: moved to gentoo.git .../files/gdk-pixbuf-2.31.6-alpha-overflow.patch | 70 --------- .../files/gdk-pixbuf-2.31.6-jpeg-overflow.patch | 35 ----- .../gdk-pixbuf-2.31.6-pixops-gcc-optimizer.patch | 46 ------ .../files/gdk-pixbuf-2.31.6-pixops-overflow.patch | 173 --------------------- .../gdk-pixbuf-2.31.6-pixops-variable-type.patch | 37 ----- .../files/gdk-pixbuf-2.31.6-png-overflow.patch | 72 --------- .../files/gdk-pixbuf-2.31.6-rotate-overflow.patch | 27 ---- x11-libs/gdk-pixbuf/gdk-pixbuf-2.31.6.ebuild | 135 ---------------- 8 files changed, 595 deletions(-) diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-alpha-overflow.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-alpha-overflow.patch deleted file mode 100644 index bd4abfa..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-alpha-overflow.patch +++ /dev/null @@ -1,70 +0,0 @@ -From ca3c56421c075e729750cf80c3438b283232cce8 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 24 Aug 2015 15:20:08 -0400 -Subject: [PATCH] Avoid integer overflow in gdk_pixbuf_add_alpha - -Same as before: don't do ptr = base + y * rowstride if y and -rowstride are integers. - -This should fix http://bugzilla.gnome/org/753569 ---- - gdk-pixbuf/gdk-pixbuf-util.c | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/gdk-pixbuf/gdk-pixbuf-util.c b/gdk-pixbuf/gdk-pixbuf-util.c -index 6abe9b9..3600450 100644 ---- a/gdk-pixbuf/gdk-pixbuf-util.c -+++ b/gdk-pixbuf/gdk-pixbuf-util.c -@@ -67,6 +67,8 @@ gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, - int x, y; - const guint8 *src_pixels; - guint8 *ret_pixels; -+ const guchar *src; -+ guchar *dest; - - g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); - g_return_val_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB, NULL); -@@ -85,20 +87,18 @@ gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, - } else { - new_pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, pixbuf->width, pixbuf->height); - } -- -+ - if (!new_pixbuf) - return NULL; - - ret_pixels = gdk_pixbuf_get_pixels (new_pixbuf); - -- for (y = 0; y < pixbuf->height; y++) { -- const guchar *src; -- guchar *dest; -+ for (y = 0; y < pixbuf->height; y++, src_pixels += pixbuf->rowstride, ret_pixels += new_pixbuf->rowstride) { - guchar tr, tg, tb; - -- src = src_pixels + y * pixbuf->rowstride; -- dest = ret_pixels + y * new_pixbuf->rowstride; -- -+ src = src_pixels; -+ dest = ret_pixels; -+ - if (pixbuf->has_alpha) { - /* Just subst color, we already copied everything else */ - for (x = 0; x < pixbuf->width; x++) { -@@ -107,12 +107,12 @@ gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, - src += 4; - dest += 4; - } -- } else { -+ } else { - for (x = 0; x < pixbuf->width; x++) { - tr = *dest++ = *src++; - tg = *dest++ = *src++; - tb = *dest++ = *src++; -- -+ - if (substitute_color && tr == r && tg == g && tb == b) - *dest++ = 0; - else --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-jpeg-overflow.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-jpeg-overflow.patch deleted file mode 100644 index ebec196..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-jpeg-overflow.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fde8d1d12a32740770253e97ddc9602654e16865 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 24 Aug 2015 15:48:51 -0400 -Subject: [PATCH] jpeg: Fix some integer overflows - -Similar to the previous commit. ---- - gdk-pixbuf/io-jpeg.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gdk-pixbuf/io-jpeg.c b/gdk-pixbuf/io-jpeg.c -index fa6bec1..eb48aed 100644 ---- a/gdk-pixbuf/io-jpeg.c -+++ b/gdk-pixbuf/io-jpeg.c -@@ -886,7 +886,7 @@ gdk_pixbuf__jpeg_image_load_lines (JpegProgContext *context, - return FALSE; - } - -- context->dptr += nlines * context->pixbuf->rowstride; -+ context->dptr += (gsize)nlines * context->pixbuf->rowstride; - - /* send updated signal */ - if (context->updated_func) -@@ -1494,7 +1494,7 @@ real_save_jpeg (GdkPixbuf *pixbuf, - while (cinfo.next_scanline < cinfo.image_height) { - /* convert scanline from ARGB to RGB packed */ - for (j = 0; j < w; j++) -- memcpy (&(buf[j*3]), &(ptr[i*rowstride + j*n_channels]), 3); -+ memcpy (&(buf[j*3]), &(ptr[(gsize)i*rowstride + j*n_channels]), 3); - - /* write scanline */ - jbuf = (JSAMPROW *)(&buf); --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-gcc-optimizer.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-gcc-optimizer.patch deleted file mode 100644 index bd957b7..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-gcc-optimizer.patch +++ /dev/null @@ -1,46 +0,0 @@ -From dd4b061c27dc0865c8f8987d294de6e04b321c18 Mon Sep 17 00:00:00 2001 -From: Benjamin Otte -Date: Sat, 22 Aug 2015 23:06:23 +0200 -Subject: [PATCH] pixops: Be smarter than gcc's optimizer - -gcc realizes that the overflow checks aren't necessary. Why not? - -Well, if an int overflows, the behavior is undefined. And turning on --fomit-instructions is valid behavior in an undefined situation. ---- - gdk-pixbuf/pixops/pixops.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c -index b7951c7..5564a40 100644 ---- a/gdk-pixbuf/pixops/pixops.c -+++ b/gdk-pixbuf/pixops/pixops.c -@@ -1272,18 +1272,17 @@ make_filter_table (PixopsFilter *filter) - int i_offset, j_offset; - int n_x = filter->x.n; - int n_y = filter->y.n; -- int n_weights; - int *weights; - -- n_weights = SUBSAMPLE * SUBSAMPLE * n_x; -- if (n_weights / (SUBSAMPLE * SUBSAMPLE) != n_x) -- return NULL; /* overflow, bail */ -+ /* check n_x doesn't overflow */ -+ if (G_MAXINT / (SUBSAMPLE * SUBSAMPLE) < n_x) -+ return NULL; - -- n_weights *= n_y; -- if (n_weights / (SUBSAMPLE * SUBSAMPLE * n_x) != n_y) -- return NULL; /* overflow, bail */ -+ /* check n_y doesn't overflow */ -+ if (G_MAXINT / (SUBSAMPLE * SUBSAMPLE * n_x) < n_y) -+ return NULL; - -- weights = g_try_new (int, n_weights); -+ weights = g_try_new (int, SUBSAMPLE * SUBSAMPLE * n_x * n_y); - if (!weights) - return NULL; /* overflow, bail */ - --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-overflow.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-overflow.patch deleted file mode 100644 index 00789ba..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-overflow.patch +++ /dev/null @@ -1,173 +0,0 @@ -From 7012b9a0b6263310fc7d57f0b06583c8404599af Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 24 Aug 2015 14:44:50 -0400 -Subject: [PATCH] Fix some more integer overflows - -The scaling code had a similar problem to the one fixed in the -previous commit: Expressions like ptr = base + y * rowstride are -prone to overflow if y and rowstride are (possibly large) integers. ---- - gdk-pixbuf/pixops/pixops.c | 48 +++++++++++++++++++++++----------------------- - 1 file changed, 24 insertions(+), 24 deletions(-) - -diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c -index 5564a40..e41b286 100644 ---- a/gdk-pixbuf/pixops/pixops.c -+++ b/gdk-pixbuf/pixops/pixops.c -@@ -304,8 +304,8 @@ pixops_scale_nearest (guchar *dest_buf, - guchar *dest; - y_pos = ((i + render_y0) * y_step + y_step / 2) >> SCALE_SHIFT; - y_pos = CLAMP (y_pos, 0, src_height - 1); -- src = src_buf + y_pos * src_rowstride; -- dest = dest_buf + i * dest_rowstride; -+ src = src_buf + (gsize)y_pos * src_rowstride; -+ dest = dest_buf + (gsize)i * dest_rowstride; - - x = render_x0 * x_step + x_step / 2; - -@@ -368,8 +368,8 @@ pixops_composite_nearest (guchar *dest_buf, - guchar *dest; - y_pos = ((i + render_y0) * y_step + y_step / 2) >> SCALE_SHIFT; - y_pos = CLAMP (y_pos, 0, src_height - 1); -- src = src_buf + y_pos * src_rowstride; -- dest = dest_buf + i * dest_rowstride; -+ src = src_buf + (gsize)y_pos * src_rowstride; -+ dest = dest_buf + (gsize)i * dest_rowstride; - - x = render_x0 * x_step + x_step / 2; - -@@ -442,8 +442,8 @@ pixops_composite_nearest_noscale (guchar *dest_buf, - - for (i = 0; i < (render_y1 - render_y0); i++) - { -- const guchar *src = src_buf + (i + render_y0) * src_rowstride; -- guchar *dest = dest_buf + i * dest_rowstride; -+ const guchar *src = src_buf + (gsize)(i + render_y0) * src_rowstride; -+ guchar *dest = dest_buf + (gsize)i * dest_rowstride; - - x = render_x0 * src_channels; - -@@ -540,8 +540,8 @@ pixops_composite_color_nearest (guchar *dest_buf, - guchar *dest; - y_pos = ((i + render_y0) * y_step + y_step / 2) >> SCALE_SHIFT; - y_pos = CLAMP (y_pos, 0, src_height - 1); -- src = src_buf + y_pos * src_rowstride; -- dest = dest_buf + i * dest_rowstride; -+ src = src_buf + (gsize)y_pos * src_rowstride; -+ dest = dest_buf + (gsize)i * dest_rowstride; - - x = render_x0 * x_step + x_step / 2; - -@@ -1398,7 +1398,7 @@ pixops_process (guchar *dest_buf, - guchar *new_outbuf; - guint32 tcolor1, tcolor2; - -- guchar *outbuf = dest_buf + dest_rowstride * i; -+ guchar *outbuf = dest_buf + (gsize)dest_rowstride * i; - guchar *outbuf_end = outbuf + dest_channels * (render_x1 - render_x0); - - if (((i + check_y) >> check_shift) & 1) -@@ -1417,9 +1417,9 @@ pixops_process (guchar *dest_buf, - if (y_start < 0) - line_bufs[j] = (guchar *)src_buf; - else if (y_start < src_height) -- line_bufs[j] = (guchar *)src_buf + src_rowstride * y_start; -+ line_bufs[j] = (guchar *)src_buf + (gsize)src_rowstride * y_start; - else -- line_bufs[j] = (guchar *)src_buf + src_rowstride * (src_height - 1); -+ line_bufs[j] = (guchar *)src_buf + (gsize)src_rowstride * (src_height - 1); - - y_start++; - } -@@ -1443,7 +1443,7 @@ pixops_process (guchar *dest_buf, - } - - new_outbuf = (*line_func) (run_weights, filter->x.n, filter->y.n, -- outbuf, dest_x, dest_buf + dest_rowstride * -+ outbuf, dest_x, dest_buf + (gsize)dest_rowstride * - i + run_end_index * dest_channels, - dest_channels, dest_has_alpha, - line_bufs, src_channels, src_has_alpha, -@@ -1966,7 +1966,7 @@ _pixops_composite (guchar *dest_buf, - return; - #endif - -- new_dest_buf = dest_buf + dest_y * dest_rowstride + dest_x * dest_channels; -+ new_dest_buf = dest_buf + (gsize)dest_y * dest_rowstride + (gsize)dest_x * dest_channels; - render_x0 = dest_x - offset_x; - render_y0 = dest_y - offset_y; - render_x1 = dest_x + dest_region_width - offset_x; -@@ -2126,7 +2126,7 @@ pixops_medialib_composite (guchar *dest_buf, - if (!use_medialib) - { - /* Use non-mediaLib version */ -- _pixops_composite_real (dest_buf + dest_y * dest_rowstride + dest_x * -+ _pixops_composite_real (dest_buf + (gsize)dest_y * dest_rowstride + (gsize)dest_x * - dest_channels, dest_x - offset_x, dest_y - - offset_y, dest_x + dest_region_width - offset_x, - dest_y + dest_region_height - offset_y, -@@ -2168,8 +2168,8 @@ pixops_medialib_composite (guchar *dest_buf, - } - else - { -- mlib_u8 *data = dest_buf + (dest_y * dest_rowstride) + -- (dest_x * dest_channels); -+ mlib_u8 *data = dest_buf + (gsize)dest_y * dest_rowstride + -+ (gsize)dest_x * dest_channels; - - mlib_ImageSetStruct (&img_dest, MLIB_BYTE, dest_channels, - dest_region_width, dest_region_height, -@@ -2236,8 +2236,8 @@ pixops_medialib_composite (guchar *dest_buf, - else - { - /* Should not happen - Use non-mediaLib version */ -- _pixops_composite_real (dest_buf + dest_y * dest_rowstride + -- dest_x * dest_channels, -+ _pixops_composite_real (dest_buf + (gsize)dest_y * dest_rowstride + -+ (gsize)dest_x * dest_channels, - dest_x - offset_x, dest_y - offset_y, - dest_x + dest_region_width - offset_x, - dest_y + dest_region_height - offset_y, -@@ -2360,7 +2360,7 @@ _pixops_scale (guchar *dest_buf, - return; - #endif - -- new_dest_buf = dest_buf + dest_y * dest_rowstride + dest_x * dest_channels; -+ new_dest_buf = dest_buf + (gsize)dest_y * dest_rowstride + (gsize)dest_x * dest_channels; - render_x0 = dest_x - offset_x; - render_y0 = dest_y - offset_y; - render_x1 = dest_x + dest_region_width - offset_x; -@@ -2414,8 +2414,8 @@ pixops_medialib_scale (guchar *dest_buf, - */ - if (!use_medialib) - { -- _pixops_scale_real (dest_buf + dest_y * dest_rowstride + dest_x * -- dest_channels, dest_x - offset_x, dest_y - offset_y, -+ _pixops_scale_real (dest_buf + (gsize)dest_y * dest_rowstride + (gsize)dest_x * -+ dest_channels, dest_x - offset_x, dest_y - offset_y, - dest_x + dest_region_width - offset_x, - dest_y + dest_region_height - offset_y, - dest_rowstride, dest_channels, dest_has_alpha, -@@ -2443,8 +2443,8 @@ pixops_medialib_scale (guchar *dest_buf, - } - else - { -- mlib_u8 *data = dest_buf + (dest_y * dest_rowstride) + -- (dest_x * dest_channels); -+ mlib_u8 *data = dest_buf + (gsize)dest_y * dest_rowstride + -+ (gsize)dest_x * dest_channels; - - mlib_ImageSetStruct (&img_dest, MLIB_BYTE, dest_channels, - dest_region_width, dest_region_height, -@@ -2479,7 +2479,7 @@ pixops_medialib_scale (guchar *dest_buf, - int channels = 3; - int rowstride = (channels * src_width + 3) & ~3; - -- tmp_buf = g_malloc (src_rowstride * src_height); -+ tmp_buf = g_malloc_n (src_rowstride, src_height); - - if (src_buf != NULL) - { --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-variable-type.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-variable-type.patch deleted file mode 100644 index a83535f..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-pixops-variable-type.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 3df91dc6c6f8d1421e9c8756959280de792af77a Mon Sep 17 00:00:00 2001 -From: Benjamin Otte -Date: Sat, 22 Aug 2015 17:57:23 +0200 -Subject: [PATCH] pixops: Chane variable type - -n_weights is used to do overflow checks. So by reducing the size to 32 -bits signed we overflow earlier. This is necessary because further down -the code lots of code uses int variables to iterate over this variable -and we don't want those to overflow. - -The correct fix would be to make all those variables gsize too, but -that's way more invasive and requires different checks in different -places so I'm not gonna do that now. -And as long as scale factors are not expected to reach G_MAXINT it's not -really necessary to do this change anyway. - -https://bugzilla.gnome.org/show_bug.cgi?id=753908 ---- - gdk-pixbuf/pixops/pixops.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c -index 7f2cbff..b7951c7 100644 ---- a/gdk-pixbuf/pixops/pixops.c -+++ b/gdk-pixbuf/pixops/pixops.c -@@ -1272,7 +1272,7 @@ make_filter_table (PixopsFilter *filter) - int i_offset, j_offset; - int n_x = filter->x.n; - int n_y = filter->y.n; -- gsize n_weights; -+ int n_weights; - int *weights; - - n_weights = SUBSAMPLE * SUBSAMPLE * n_x; --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-png-overflow.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-png-overflow.patch deleted file mode 100644 index 83c67b5..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-png-overflow.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 8714ab407c54d5989d15a78eb15550c2d52d95b8 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 24 Aug 2015 14:13:37 -0400 -Subject: [PATCH] png: Fix some integer overflows - -The png loader was not careful enough in some places. Width * height -can overflow an integer. - -This should fix http://bugzilla.gnome.org/734556. ---- - gdk-pixbuf/io-png.c | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/gdk-pixbuf/io-png.c b/gdk-pixbuf/io-png.c -index 3336b1e..5690875 100644 ---- a/gdk-pixbuf/io-png.c -+++ b/gdk-pixbuf/io-png.c -@@ -267,6 +267,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error) - gchar *density_str; - guint32 retval; - gint compression_type; -+ gpointer ptr; - - #ifdef PNG_USER_MEM_SUPPORTED - png_ptr = png_create_read_struct_2 (PNG_LIBPNG_VER_STRING, -@@ -326,8 +327,8 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error) - - rows = g_new (png_bytep, h); - -- for (i = 0; i < h; i++) -- rows[i] = pixbuf->pixels + i * pixbuf->rowstride; -+ for (i = 0, ptr = pixbuf->pixels; i < h; i++, ptr += pixbuf->rowstride) -+ rows[i] = ptr; - - png_read_image (png_ptr, rows); - png_read_end (png_ptr, info_ptr); -@@ -745,6 +746,7 @@ png_row_callback (png_structp png_read_ptr, - { - LoadContext* lc; - guchar* old_row = NULL; -+ gsize rowstride; - - lc = png_get_progressive_ptr(png_read_ptr); - -@@ -770,8 +772,9 @@ png_row_callback (png_structp png_read_ptr, - lc->max_row_seen_in_chunk = MAX(lc->max_row_seen_in_chunk, ((gint)row_num)); - lc->last_row_seen_in_chunk = row_num; - lc->last_pass_seen_in_chunk = pass_num; -- -- old_row = lc->pixbuf->pixels + (row_num * lc->pixbuf->rowstride); -+ -+ rowstride = lc->pixbuf->rowstride; -+ old_row = lc->pixbuf->pixels + (row_num * rowstride); - - png_progressive_combine_row(lc->png_read_ptr, old_row, new_row); - } -@@ -1123,11 +1126,9 @@ static gboolean real_save_png (GdkPixbuf *pixbuf, - png_set_shift (png_ptr, &sig_bit); - png_set_packing (png_ptr); - -- ptr = pixels; -- for (y = 0; y < h; y++) { -+ for (y = 0, ptr = pixels; y < h; y++, ptr += rowstride) { - row_ptr = (png_bytep)ptr; - png_write_rows (png_ptr, &row_ptr, 1); -- ptr += rowstride; - } - - png_write_end (png_ptr, info_ptr); --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-rotate-overflow.patch b/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-rotate-overflow.patch deleted file mode 100644 index fa6b90c..0000000 --- a/x11-libs/gdk-pixbuf/files/gdk-pixbuf-2.31.6-rotate-overflow.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4f68cb78a5277f169b9531e6998c00c7976594e4 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 24 Aug 2015 15:29:36 -0400 -Subject: [PATCH] Avoid integer overflow in gdk_pixbuf_rotate_simple - -Same as before: don't do ptr = base + y * rowstride if y and -rowstride are integers. ---- - gdk-pixbuf/gdk-pixbuf-scale.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdk-pixbuf/gdk-pixbuf-scale.c b/gdk-pixbuf/gdk-pixbuf-scale.c -index 4288c65..475126a 100644 ---- a/gdk-pixbuf/gdk-pixbuf-scale.c -+++ b/gdk-pixbuf/gdk-pixbuf-scale.c -@@ -396,7 +396,7 @@ gdk_pixbuf_composite_color_simple (const GdkPixbuf *src, - return dest; - } - --#define OFFSET(pb, x, y) ((x) * (pb)->n_channels + (y) * (pb)->rowstride) -+#define OFFSET(pb, x, y) ((x) * (pb)->n_channels + (gsize)(y) * (pb)->rowstride) - - /** - * gdk_pixbuf_rotate_simple: --- -2.5.1 - diff --git a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.31.6.ebuild b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.31.6.ebuild deleted file mode 100644 index 1ae90b6..0000000 --- a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.31.6.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -GCONF_DEBUG="no" -GNOME2_LA_PUNT="yes" - -inherit eutils flag-o-matic gnome2 multilib libtool multilib-minimal - -DESCRIPTION="Image loading library for GTK+" -HOMEPAGE="http://www.gtk.org/" - -LICENSE="LGPL-2+" -SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+X debug +introspection jpeg jpeg2k tiff test" - -COMMON_DEPEND=" - >=dev-libs/glib-2.37.6:2[${MULTILIB_USEDEP}] - >=media-libs/libpng-1.4:0=[${MULTILIB_USEDEP}] - introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - jpeg2k? ( media-libs/jasper:=[${MULTILIB_USEDEP}] ) - tiff? ( >=media-libs/tiff-3.9.2:0=[${MULTILIB_USEDEP}] ) - X? ( x11-libs/libX11[${MULTILIB_USEDEP}] ) -" -DEPEND="${COMMON_DEPEND} - >=dev-util/gtk-doc-am-1.20 - >=sys-devel/gettext-0.19 - virtual/pkgconfig -" -# librsvg blocker is for the new pixbuf loader API, you lose icons otherwise -RDEPEND="${COMMON_DEPEND} - ! libpng15 upgrade - # See upstream bug #667068 - # First check that the pattern is present, to catch upstream changes on bumps, - # because sed doesn't return failure code if it doesn't do any replacements - grep -q 'l in libpng16' configure || die "libpng check order has changed upstream" - sed -e 's:l in libpng16:l in libpng libpng16:' -i configure || die - [[ ${CHOST} == *-solaris* ]] && append-libs intl - - gnome2_src_prepare -} - -multilib_src_configure() { - # png always on to display icons - ECONF_SOURCE="${S}" \ - gnome2_src_configure \ - $(usex debug --enable-debug=yes "") \ - $(use_with jpeg libjpeg) \ - $(use_with jpeg2k libjasper) \ - $(use_with tiff libtiff) \ - $(multilib_native_use_enable introspection) \ - $(use_with X x11) \ - --with-libpng - - # work-around gtk-doc out-of-source brokedness - if multilib_is_native_abi; then - ln -s "${S}"/docs/reference/${PN}/html docs/reference/${PN}/html || die - fi -} - -multilib_src_install() { - # Parallel install fails when no gdk-pixbuf is already installed, bug #481372 - MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_install -} - -pkg_preinst() { - gnome2_pkg_preinst - - multilib_pkg_preinst() { - # Make sure loaders.cache belongs to gdk-pixbuf alone - local cache="usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache" - - if [[ -e ${EROOT}${cache} ]]; then - cp "${EROOT}"${cache} "${ED}"/${cache} || die - else - touch "${ED}"/${cache} || die - fi - } - - multilib_foreach_abi multilib_pkg_preinst -} - -pkg_postinst() { - # causes segfault if set, see bug 375615 - unset __GL_NO_DSO_FINALIZER - - multilib_foreach_abi gnome2_pkg_postinst - - # Migration snippet for when this was handled by gtk+ - if [ -e "${EROOT}"usr/lib/gtk-2.0/2.*/loaders ]; then - elog "You need to rebuild ebuilds that installed into" "${EROOT}"usr/lib/gtk-2.0/2.*/loaders - elog "to do that you can use qfile from portage-utils:" - elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.*/loaders)" - fi -} - -pkg_postrm() { - gnome2_pkg_postrm - - if [[ -z ${REPLACED_BY_VERSIONS} ]]; then - rm -f "${EROOT}"usr/lib*/${PN}-2.0/2.10.0/loaders.cache - fi -}