head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.6 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.4 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.2 pkgsrc-2011Q4-base:1.2; locks; strict; comment @# @; 1.2 date 2011.08.30.22.34.13; author drochner; state dead; branches; next 1.1; 1.1 date 2011.07.08.11.31.24; author drochner; state Exp; branches; next ; desc @@ 1.2 log @update to 2.24.0 This switches to the latest stable branch. @ text @$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); @ 1.1 log @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 @ text @d1 1 a1 1 $NetBSD$ @