diff --git a/gtk+-2.20.1-pngmess.patch b/gtk+-2.20.1-pngmess.patch new file mode 100644 index 0000000..572d9cb --- /dev/null +++ b/gtk+-2.20.1-pngmess.patch @@ -0,0 +1,43 @@ +--- gdk-pixbuf/io-png.c ++++ gdk-pixbuf/io-png.c +@@ -261,7 +261,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error) + gchar *icc_profile_base64; + const gchar *icc_profile_title; + const gchar *icc_profile; +- gulong icc_profile_size; ++ png_uint_32 icc_profile_size; + guint32 retval; + gint compression_type; + +@@ -344,7 +344,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error) + (png_charpp) &icc_profile_title, &compression_type, + (png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size); + if (retval != 0) { +- icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, icc_profile_size); ++ icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, (gsize)icc_profile_size); + gdk_pixbuf_set_option (pixbuf, "icc-profile", icc_profile_base64); + g_free (icc_profile_base64); + } +@@ -607,7 +607,7 @@ png_info_callback (png_structp png_read_ptr, + gchar *icc_profile_base64; + const gchar *icc_profile_title; + const gchar *icc_profile; +- gulong icc_profile_size; ++ png_uint_32 icc_profile_size; + guint32 retval; + gint compression_type; + +@@ -679,9 +679,9 @@ png_info_callback (png_structp png_read_ptr, + /* Extract embedded ICC profile */ + retval = png_get_iCCP (png_read_ptr, png_info_ptr, + (png_charpp) &icc_profile_title, &compression_type, +- (png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size); ++ (png_charpp) &icc_profile, &icc_profile_size); + if (retval != 0) { +- icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, icc_profile_size); ++ icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, (gsize)icc_profile_size); + gdk_pixbuf_set_option (lc->pixbuf, "icc-profile", icc_profile_base64); + g_free (icc_profile_base64); + } +-- +cgit v0.8.3.1 diff --git a/gtk2.changes b/gtk2.changes index 173d613..96a5584 100644 --- a/gtk2.changes +++ b/gtk2.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu May 20 12:49:46 CEST 2010 - fridrich.strba@bluewin.ch + +- Fix a memory allocation problem in png loader + + patch gtk+-2.20.1-pngmess.patch: backport upstream commit + f0cfc970ed917adb10d4f92ba9e8d3aa079449e0 + ------------------------------------------------------------------- Mon May 3 22:16:19 CEST 2010 - captain.magnus@opensuse.org diff --git a/gtk2.spec b/gtk2.spec index 8fca7ce..0cb5649 100644 --- a/gtk2.spec +++ b/gtk2.spec @@ -20,7 +20,7 @@ Name: gtk2 %define _name gtk+ Version: 2.20.1 -Release: 1 +Release: 2 # FIXME: 2.19.3 doesn't compile with parallel build. Check if this is still true for later versions. # FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer) License: LGPLv2.1+ @@ -52,6 +52,8 @@ Patch24: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.d # be here instead. # PATCH-FIX-OPENSUSE gtk-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 Patch53: gtk-path-local.patch +# PATCH-FIX-UPSTREAM gtk+-2.20.1-pngmess.patch fridrich.strba@bluewin.ch - Fix a memory allocation problem in png loader +Patch54: gtk+-2.20.1-pngmess.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: atk-devel @@ -167,6 +169,7 @@ cp -a %{S:2} . %patch23 -p1 %patch24 -p1 %patch53 +%patch54 gnome-patch-translation-update %build