diff options
author | drochner <drochner@pkgsrc.org> | 2011-07-08 11:31:24 +0000 |
---|---|---|
committer | drochner <drochner@pkgsrc.org> | 2011-07-08 11:31:24 +0000 |
commit | ecb3a49771ac98a12e97d8add0e15e9d2c97edc4 (patch) | |
tree | 493fd876adaa4c5e6872d31f16f515cc5952b617 /graphics/gdk-pixbuf2 | |
parent | 48ef3e111e5d0a5fae0ff781ab92c3d5f0d1cfa6 (diff) | |
download | pkgsrc-ecb3a49771ac98a12e97d8add0e15e9d2c97edc4.tar.gz |
add patch from upstream to fix excessive memory use due improper checking
of certain return values in GIF image loader (CVE-2011-2485)
bump PKGREV
Diffstat (limited to 'graphics/gdk-pixbuf2')
-rw-r--r-- | graphics/gdk-pixbuf2/Makefile | 4 | ||||
-rw-r--r-- | graphics/gdk-pixbuf2/distinfo | 3 | ||||
-rw-r--r-- | graphics/gdk-pixbuf2/patches/patch-ag | 41 |
3 files changed, 45 insertions, 3 deletions
diff --git a/graphics/gdk-pixbuf2/Makefile b/graphics/gdk-pixbuf2/Makefile index 7760f593e7c..59a01445310 100644 --- a/graphics/gdk-pixbuf2/Makefile +++ b/graphics/gdk-pixbuf2/Makefile @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.5 2011/04/22 13:42:26 obache Exp $ +# $NetBSD: Makefile,v 1.6 2011/07/08 11:31:24 drochner Exp $ # DISTNAME= gdk-pixbuf-2.22.1 PKGNAME= gdk-pixbuf2-2.22.1 -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_GNOME:=sources/gdk-pixbuf/2.22/} EXTRACT_SUFX= .tar.bz2 diff --git a/graphics/gdk-pixbuf2/distinfo b/graphics/gdk-pixbuf2/distinfo index fadf861a6ef..c1d13e1e7d7 100644 --- a/graphics/gdk-pixbuf2/distinfo +++ b/graphics/gdk-pixbuf2/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.6 2011/01/24 12:29:42 wiz Exp $ +$NetBSD: distinfo,v 1.7 2011/07/08 11:31:24 drochner Exp $ SHA1 (gdk-pixbuf-2.22.1.tar.bz2) = b452208963ddd84f7280865695b50255fcafaa2e RMD160 (gdk-pixbuf-2.22.1.tar.bz2) = d05d6642e147281b7dc1dd21657595333f13f6f1 @@ -9,3 +9,4 @@ SHA1 (patch-ac) = f8c8ff3175cee6a88938a0aaa081d3bd832a050d SHA1 (patch-ad) = 224ce909009d1d0ac42ba938987877c39b9aa380 SHA1 (patch-ae) = e13fe0ad5a3e313bc4d6daa3c30f00fb66788534 SHA1 (patch-af) = 4f7de87f3e840ceb282885ab806648e8dba28cff +SHA1 (patch-ag) = ac7a5823167eb476c88eb0fe3fde88ccd1b70cf0 diff --git a/graphics/gdk-pixbuf2/patches/patch-ag b/graphics/gdk-pixbuf2/patches/patch-ag new file mode 100644 index 00000000000..79fcff2da4c --- /dev/null +++ b/graphics/gdk-pixbuf2/patches/patch-ag @@ -0,0 +1,41 @@ +$NetBSD: patch-ag,v 1.1 2011/07/08 11:31:24 drochner Exp $ + +CVE-2011-2485 + +--- gdk-pixbuf/io-gif.c.orig 2010-07-10 00:54:13.000000000 +0000 ++++ gdk-pixbuf/io-gif.c +@@ -1455,6 +1455,7 @@ gdk_pixbuf__gif_image_load (FILE *file, + { + GifContext *context; + GdkPixbuf *pixbuf; ++ gint retval; + + g_return_val_if_fail (file != NULL, NULL); + +@@ -1472,19 +1473,25 @@ gdk_pixbuf__gif_image_load (FILE *file, + context->error = error; + context->stop_after_first_frame = TRUE; + +- if (gif_main_loop (context) == -1 || context->animation->frames == NULL) { ++ retval = gif_main_loop (context); ++ if (retval == -1 || context->animation->frames == NULL) { + if (context->error && *(context->error) == NULL) + g_set_error_literal (context->error, + GDK_PIXBUF_ERROR, + GDK_PIXBUF_ERROR_CORRUPT_IMAGE, + _("GIF file was missing some data (perhaps it was truncated somehow?)")); + } ++ else if (retval == -2) { ++ pixbuf = NULL; ++ goto out; ++ } + + pixbuf = gdk_pixbuf_animation_get_static_image (GDK_PIXBUF_ANIMATION (context->animation)); + + if (pixbuf) + g_object_ref (pixbuf); + ++out: + g_object_unref (context->animation); + + g_free (context->buf); |