Hello community,

here is the log from the commit of package gdk-pixbuf for openSUSE:Factory 
checked in at 2019-09-11 10:18:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdk-pixbuf (Old)
 and      /work/SRC/openSUSE:Factory/.gdk-pixbuf.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gdk-pixbuf"

Wed Sep 11 10:18:22 2019 rev:75 rq:729387 version:2.38.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gdk-pixbuf/gdk-pixbuf.changes    2019-05-16 
21:56:19.546881459 +0200
+++ /work/SRC/openSUSE:Factory/.gdk-pixbuf.new.7948/gdk-pixbuf.changes  
2019-09-11 10:18:22.711525764 +0200
@@ -1,0 +2,17 @@
+Mon Sep  9 08:46:08 UTC 2019 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 2.38.2:
+  + build: Remove unnecessary argument.
+  + gif: Suppress last deprecation warning.
+  + tests:
+    - Disable deprecation warnings for GTimeVal.
+    - Add test for issue 95.
+    - Add test image for invalid XPM data.
+  + Disable deprecation warnings for GTimeVal.
+  + Use the monotonic clock instead of wall one.
+  + xpm:
+    - Fail when XPM file doesn't contain enough data.
+    - Simplify error path.
+    - Sanity check XPM file dimensions.
+
+-------------------------------------------------------------------

Old:
----
  gdk-pixbuf-2.38.1.tar.xz

New:
----
  gdk-pixbuf-2.38.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdk-pixbuf.spec ++++++
--- /var/tmp/diff_new_pack.zKizmx/_old  2019-09-11 10:18:23.315525689 +0200
+++ /var/tmp/diff_new_pack.zKizmx/_new  2019-09-11 10:18:23.315525689 +0200
@@ -18,18 +18,21 @@
 
 # When updating the binary version, do not forget to also update baselibs.conf
 %define gdk_pixbuf_binary_version 2.10.0
+
 Name:           gdk-pixbuf
-Version:        2.38.1
+Version:        2.38.2
 Release:        0
 Summary:        An image loading library
 License:        LGPL-2.1-or-later
 Group:          Development/Libraries/GNOME
 URL:            https://www.gnome.org/
+
 Source0:        
https://download.gnome.org/sources/gdk-pixbuf/2.38/%{name}-%{version}.tar.xz
 Source1:        macros.gdk-pixbuf
 Source2:        README.SUSE
 Source3:        gdk-pixbuf-rpmlintrc
 Source99:       baselibs.conf
+
 BuildRequires:  docbook-xsl-stylesheets
 BuildRequires:  gtk-doc
 BuildRequires:  libjpeg-devel

++++++ gdk-pixbuf-2.38.1.tar.xz -> gdk-pixbuf-2.38.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-animation.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-animation.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-animation.c     2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-animation.c     2019-09-09 
00:28:00.000000000 +0200
@@ -21,6 +21,7 @@
  */
 
 #include "config.h"
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
 #include <errno.h>
 #include "gdk-pixbuf-private.h"
 #include "gdk-pixbuf-animation.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-animation.h 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-animation.h
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-animation.h     2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-animation.h     2019-09-09 
00:28:00.000000000 +0200
@@ -106,9 +106,12 @@
 GDK_PIXBUF_AVAILABLE_IN_ALL
 GdkPixbuf          *gdk_pixbuf_animation_get_static_image (GdkPixbufAnimation 
*animation);
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 GDK_PIXBUF_AVAILABLE_IN_ALL
 GdkPixbufAnimationIter *gdk_pixbuf_animation_get_iter                        
(GdkPixbufAnimation     *animation,
                                                                               
const GTimeVal         *start_time);
+G_GNUC_END_IGNORE_DEPRECATIONS
+
 GDK_PIXBUF_AVAILABLE_IN_ALL
 GType                   gdk_pixbuf_animation_iter_get_type                   
(void) G_GNUC_CONST;
 GDK_PIXBUF_AVAILABLE_IN_ALL
@@ -117,9 +120,11 @@
 GdkPixbuf              *gdk_pixbuf_animation_iter_get_pixbuf                 
(GdkPixbufAnimationIter *iter);
 GDK_PIXBUF_AVAILABLE_IN_ALL
 gboolean                gdk_pixbuf_animation_iter_on_currently_loading_frame 
(GdkPixbufAnimationIter *iter);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 GDK_PIXBUF_AVAILABLE_IN_ALL
 gboolean                gdk_pixbuf_animation_iter_advance                    
(GdkPixbufAnimationIter *iter,
                                                                               
const GTimeVal         *current_time);
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 #ifdef GDK_PIXBUF_ENABLE_BACKEND
@@ -150,6 +155,7 @@
 
 };
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 struct _GdkPixbufAnimationClass {
         GObjectClass parent_class;
 
@@ -167,6 +173,7 @@
                                              const GTimeVal     *start_time);
 
 };
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -196,6 +203,7 @@
 
 };
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 struct _GdkPixbufAnimationIterClass {
         GObjectClass parent_class;
 
@@ -210,6 +218,7 @@
         gboolean   (*advance)          (GdkPixbufAnimationIter *iter,
                                         const GTimeVal         *current_time);
 };
+G_GNUC_END_IGNORE_DEPRECATIONS
       
 
 GDK_PIXBUF_AVAILABLE_IN_ALL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-scaled-anim.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-scaled-anim.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-scaled-anim.c   2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-scaled-anim.c   2019-09-09 
00:28:00.000000000 +0200
@@ -172,6 +172,7 @@
                *height = (int)(*height * scaled->yscale + .5);
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter *
 get_iter (GdkPixbufAnimation *anim,
           const GTimeVal     *start_time)
@@ -186,6 +187,7 @@
        
        return (GdkPixbufAnimationIter*)iter;
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 static void
 gdk_pixbuf_scaled_anim_class_init (GdkPixbufScaledAnimClass *klass)
@@ -242,6 +244,7 @@
        return gdk_pixbuf_animation_iter_on_currently_loading_frame 
(scaled->iter);
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean
 advance (GdkPixbufAnimationIter *iter,
         const GTimeVal         *current_time)
@@ -250,6 +253,7 @@
 
        return gdk_pixbuf_animation_iter_advance (scaled->iter, current_time);
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 static void
 gdk_pixbuf_scaled_anim_iter_finalize (GObject *object)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-simple-anim.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-simple-anim.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/gdk-pixbuf-simple-anim.c   2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/gdk-pixbuf-simple-anim.c   2019-09-09 
00:28:00.000000000 +0200
@@ -24,6 +24,7 @@
  */
 
 #include "config.h"
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
 #include <glib.h>
 
 #define GDK_PIXBUF_C_COMPILATION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-ani-animation.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-ani-animation.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-ani-animation.c 2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-ani-animation.c 2019-09-09 
00:28:00.000000000 +0200
@@ -30,9 +30,10 @@
 static void                    gdk_pixbuf_ani_anim_get_size 
(GdkPixbufAnimation *anim,
                                                              int               
 *width,
                                                              int               
 *height);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter* gdk_pixbuf_ani_anim_get_iter 
(GdkPixbufAnimation *anim,
                                                              const GTimeVal    
 *start_time);
-
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -122,6 +123,7 @@
         iter->elapsed = 0;
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter*
 gdk_pixbuf_ani_anim_get_iter (GdkPixbufAnimation *anim,
                               const GTimeVal     *start_time)
@@ -141,6 +143,7 @@
 
         return GDK_PIXBUF_ANIMATION_ITER (iter);
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -149,8 +152,10 @@
 static int        gdk_pixbuf_ani_anim_iter_get_delay_time             
(GdkPixbufAnimationIter *iter);
 static GdkPixbuf* gdk_pixbuf_ani_anim_iter_get_pixbuf                 
(GdkPixbufAnimationIter *iter);
 static gboolean   gdk_pixbuf_ani_anim_iter_on_currently_loading_frame 
(GdkPixbufAnimationIter *iter);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean   gdk_pixbuf_ani_anim_iter_advance                    
(GdkPixbufAnimationIter *iter,
                                                                        const 
GTimeVal         *current_time);
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -186,6 +191,7 @@
         G_OBJECT_CLASS (gdk_pixbuf_ani_anim_iter_parent_class)->finalize 
(object);
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean
 gdk_pixbuf_ani_anim_iter_advance (GdkPixbufAnimationIter *anim_iter,
                                   const GTimeVal         *current_time)
@@ -237,6 +243,7 @@
 
         return iter->current_frame != old;
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 int
 gdk_pixbuf_ani_anim_iter_get_delay_time (GdkPixbufAnimationIter *anim_iter)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-ani-animation.h 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-ani-animation.h
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-ani-animation.h 2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-ani-animation.h 2019-09-09 
00:28:00.000000000 +0200
@@ -82,6 +82,7 @@
 #define GDK_IS_PIXBUF_ANI_ANIM_ITER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE 
((klass), GDK_TYPE_PIXBUF_ANI_ANIM_ITER))
 #define GDK_PIXBUF_ANI_ANIM_ITER_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS 
((obj), GDK_TYPE_PIXBUF_ANI_ANIM_ITER, GdkPixbufAniAnimIterClass))
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 struct _GdkPixbufAniAnimIter {
         GdkPixbufAnimationIter parent_instance;
         
@@ -100,6 +101,7 @@
            begin of the current frame */
         gint                elapsed;
 };
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 struct _GdkPixbufAniAnimIterClass {
         GdkPixbufAnimationIterClass parent_class;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-gdip-animation.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-gdip-animation.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-gdip-animation.c        2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-gdip-animation.c        2019-09-09 
00:28:00.000000000 +0200
@@ -21,6 +21,7 @@
  */
 
 #include <errno.h>
+
 #include "io-gdip-native.h"
 #include "io-gdip-animation.h"
 
@@ -32,8 +33,10 @@
 static void                    gdk_pixbuf_gdip_anim_get_size 
(GdkPixbufAnimation *anim,
                                                              int               
 *width,
                                                              int               
 *height);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter* gdk_pixbuf_gdip_anim_get_iter 
(GdkPixbufAnimation *anim,
                                                              const GTimeVal    
 *start_time);
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 G_DEFINE_TYPE (GdkPixbufGdipAnim, gdk_pixbuf_gdip_anim, 
GDK_TYPE_PIXBUF_ANIMATION);
@@ -131,6 +134,7 @@
         iter->current_frame = iter->gdip_anim->frames;
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter*
 gdk_pixbuf_gdip_anim_get_iter (GdkPixbufAnimation *anim,
                               const GTimeVal     *start_time)
@@ -151,14 +155,17 @@
 
         return GDK_PIXBUF_ANIMATION_ITER (iter);
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 static void gdk_pixbuf_gdip_anim_iter_finalize   (GObject                   
*object);
 
 static int        gdk_pixbuf_gdip_anim_iter_get_delay_time             
(GdkPixbufAnimationIter *iter);
 static GdkPixbuf* gdk_pixbuf_gdip_anim_iter_get_pixbuf                 
(GdkPixbufAnimationIter *iter);
 static gboolean   gdk_pixbuf_gdip_anim_iter_on_currently_loading_frame 
(GdkPixbufAnimationIter *iter);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean   gdk_pixbuf_gdip_anim_iter_advance                    
(GdkPixbufAnimationIter *iter,
                                                                        const 
GTimeVal         *current_time);
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 G_DEFINE_TYPE (GdkPixbufGdipAnimIter, gdk_pixbuf_gdip_anim_iter, 
GDK_TYPE_PIXBUF_ANIMATION_ITER);
 
@@ -194,6 +201,7 @@
         G_OBJECT_CLASS (gdk_pixbuf_gdip_anim_iter_parent_class)->finalize 
(object);
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean
 gdk_pixbuf_gdip_anim_iter_advance (GdkPixbufAnimationIter *anim_iter,
                                   const GTimeVal         *current_time)
@@ -266,6 +274,7 @@
 
         return iter->current_frame != old;
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 int
 gdk_pixbuf_gdip_anim_iter_get_delay_time (GdkPixbufAnimationIter *anim_iter)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-gif-animation.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-gif-animation.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-gif-animation.c 2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-gif-animation.c 2019-09-09 
00:28:00.000000000 +0200
@@ -33,9 +33,10 @@
 static void                    gdk_pixbuf_gif_anim_get_size 
(GdkPixbufAnimation *anim,
                                                              int               
 *width,
                                                              int               
 *height);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter* gdk_pixbuf_gif_anim_get_iter 
(GdkPixbufAnimation *anim,
                                                              const GTimeVal    
 *start_time);
-
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -94,6 +95,7 @@
                 gif_anim->frames->next == NULL);
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbuf*
 gdk_pixbuf_gif_anim_get_static_image (GdkPixbufAnimation *animation)
 {
@@ -106,6 +108,7 @@
         else
                 return GDK_PIXBUF 
(((GdkPixbufFrame*)gif_anim->frames->data)->pixbuf);
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 static void
 gdk_pixbuf_gif_anim_get_size (GdkPixbufAnimation *anim,
@@ -138,6 +141,7 @@
         iter->current_frame = iter->gif_anim->frames;
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static GdkPixbufAnimationIter*
 gdk_pixbuf_gif_anim_get_iter (GdkPixbufAnimation *anim,
                               const GTimeVal     *start_time)
@@ -158,6 +162,7 @@
 
         return GDK_PIXBUF_ANIMATION_ITER (iter);
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -166,8 +171,10 @@
 static int        gdk_pixbuf_gif_anim_iter_get_delay_time             
(GdkPixbufAnimationIter *iter);
 static GdkPixbuf* gdk_pixbuf_gif_anim_iter_get_pixbuf                 
(GdkPixbufAnimationIter *iter);
 static gboolean   gdk_pixbuf_gif_anim_iter_on_currently_loading_frame 
(GdkPixbufAnimationIter *iter);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean   gdk_pixbuf_gif_anim_iter_advance                    
(GdkPixbufAnimationIter *iter,
                                                                        const 
GTimeVal         *current_time);
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 
 
@@ -246,6 +253,7 @@
         }
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 static gboolean
 gdk_pixbuf_gif_anim_iter_advance (GdkPixbufAnimationIter *anim_iter,
                                   const GTimeVal         *current_time)
@@ -320,6 +328,7 @@
 
         return iter->current_frame != old;
 }
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 int
 gdk_pixbuf_gif_anim_iter_get_delay_time (GdkPixbufAnimationIter *anim_iter)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-gif-animation.h 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-gif-animation.h
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-gif-animation.h 2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-gif-animation.h 2019-09-09 
00:28:00.000000000 +0200
@@ -100,6 +100,7 @@
 #define GDK_IS_PIXBUF_GIF_ANIM_ITER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE 
((klass), GDK_TYPE_PIXBUF_GIF_ANIM_ITER))
 #define GDK_PIXBUF_GIF_ANIM_ITER_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS 
((obj), GDK_TYPE_PIXBUF_GIF_ANIM_ITER, GdkPixbufGifAnimIterClass))
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 struct _GdkPixbufGifAnimIter {
         GdkPixbufAnimationIter parent_instance;
         
@@ -115,6 +116,7 @@
         
         gint                first_loop_slowness;
 };
+G_GNUC_END_IGNORE_DEPRECATIONS
 
 struct _GdkPixbufGifAnimIterClass {
         GdkPixbufAnimationIterClass parent_class;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-xpm.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-xpm.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/io-xpm.c   2019-02-28 17:22:57.000000000 
+0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/io-xpm.c   2019-09-09 00:28:00.000000000 
+0200
@@ -459,7 +459,7 @@
        GHashTable *color_hash;
        XPMColor *colors, *color, *fallbackcolor;
        guchar *pixtmp;
-       GdkPixbuf *pixbuf;
+       GdkPixbuf *pixbuf = NULL;
        gint rowstride;
 
        fallbackcolor = NULL;
@@ -498,6 +498,15 @@
                return NULL;
 
        }
+       /* Check from libXpm's ParsePixels() */
+       if ((h > 0 && w >= UINT_MAX / h) ||
+           w * h >= UINT_MAX / sizeof(unsigned int)) {
+               g_set_error_literal (error,
+                                     GDK_PIXBUF_ERROR,
+                                     GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+                                     _("Invalid XPM header"));
+               return NULL;
+       }
        if (cpp <= 0 || cpp >= 32) {
                 g_set_error_literal (error,
                                      GDK_PIXBUF_ERROR,
@@ -547,10 +556,7 @@
                                              GDK_PIXBUF_ERROR,
                                              GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
                                              _("Cannot read XPM colormap"));
-                       g_hash_table_destroy (color_hash);
-                       g_free (name_buf);
-                       g_free (colors);
-                       return NULL;
+                        goto out;
                }
 
                color = &colors[cnt];
@@ -585,10 +591,7 @@
                                      GDK_PIXBUF_ERROR,
                                      GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
                                      _("Cannot allocate memory for loading XPM 
image"));
-               g_hash_table_destroy (color_hash);
-               g_free (colors);
-               g_free (name_buf);
-               return NULL;
+                goto out;
        }
 
        rowstride = gdk_pixbuf_get_rowstride (pixbuf);
@@ -599,8 +602,14 @@
                pixtmp = gdk_pixbuf_get_pixels (pixbuf) + ycnt * rowstride;
 
                buffer = (*get_buf) (op_body, handle);
-               if ((!buffer) || (strlen (buffer) < wbytes))
-                       continue;
+               if ((!buffer) || (strlen (buffer) < wbytes)) {
+                       /* Advertised width doesn't match pixels */
+                       g_set_error_literal (error,
+                                            GDK_PIXBUF_ERROR,
+                                            GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+                                            _("Invalid XPM header"));
+                       goto out;
+               }
 
                for (n = 0, xcnt = 0; n < wbytes; n += cpp, xcnt++) {
                        strncpy (pixel_str, &buffer[n], cpp);
@@ -637,6 +646,14 @@
        }
 
        return pixbuf;
+
+out:
+       g_hash_table_destroy (color_hash);
+       g_free (colors);
+       g_free (name_buf);
+
+       g_clear_object (&pixbuf);
+       return NULL;
 }
 
 /* Shared library entry point for file loading */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/meson.build 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/meson.build
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/meson.build        2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/meson.build        2019-09-09 
00:28:00.000000000 +0200
@@ -52,7 +52,6 @@
 gdk_pixbuf_features_h = configure_file(input: 'gdk-pixbuf-features.h.in',
                                        output: 'gdk-pixbuf-features.h',
                                        configuration: gdkpixbuf_features_conf,
-                                       install: true,
                                        install_dir: 
join_paths(gdk_pixbuf_includedir, gdk_pixbuf_api_path))
 
 gdkpixbuf_headers = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/gdk-pixbuf/pixops/timescale.c 
new/gdk-pixbuf-2.38.2/gdk-pixbuf/pixops/timescale.c
--- old/gdk-pixbuf-2.38.1/gdk-pixbuf/pixops/timescale.c 2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/gdk-pixbuf/pixops/timescale.c 2019-09-09 
00:28:00.000000000 +0200
@@ -22,29 +22,23 @@
 
 #include "pixops.h"
 
-static GTimeVal start_time;
+static guint64 start_time;
 
-static void 
+static void
 start_timing (void)
 {
-  g_get_current_time (&start_time);
+  start_time = g_get_monotonic_time ();
 }
 
 static double
 stop_timing (const char *test, int iterations, int bytes)
 {
-  GTimeVal stop_time;
+  guint64 stop_time;
   double msecs;
   
-  g_get_current_time (&stop_time);
-  if (stop_time.tv_usec < start_time.tv_usec)
-    {
-      stop_time.tv_usec += 1000000;
-      stop_time.tv_sec -= 1;
-    }
+  stop_time = g_get_monotonic_time ();
 
-  msecs = (stop_time.tv_sec - start_time.tv_sec) * 1000. +
-          (stop_time.tv_usec - start_time.tv_usec) / 1000.;
+  msecs = (stop_time - start_time) * 1000.0;
 
   printf("%s%d\t%.1f\t\t%.2f\t\t%.2f\n",
         test, iterations, msecs, msecs / iterations, ((double)bytes * 
iterations) / (1000*msecs));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/meson.build 
new/gdk-pixbuf-2.38.2/meson.build
--- old/gdk-pixbuf-2.38.1/meson.build   2019-02-28 17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/meson.build   2019-09-09 00:28:00.000000000 +0200
@@ -1,5 +1,5 @@
 project('gdk-pixbuf', 'c',
-        version: '2.38.1',
+        version: '2.38.2',
         license: 'LGPLv2.1+',
         default_options: [
           'buildtype=debugoptimized',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/tests/pixbuf-area-updated.c 
new/gdk-pixbuf-2.38.2/tests/pixbuf-area-updated.c
--- old/gdk-pixbuf-2.38.1/tests/pixbuf-area-updated.c   2019-02-28 
17:22:57.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/tests/pixbuf-area-updated.c   2019-09-09 
00:28:00.000000000 +0200
@@ -20,6 +20,7 @@
  *         Bastien Nocera
  */
 
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
 #include <stdio.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gdk-pixbuf-2.38.1/tests/pixbuf-gif.c 
new/gdk-pixbuf-2.38.2/tests/pixbuf-gif.c
--- old/gdk-pixbuf-2.38.1/tests/pixbuf-gif.c    2019-02-28 17:22:57.000000000 
+0100
+++ new/gdk-pixbuf-2.38.2/tests/pixbuf-gif.c    2019-09-09 00:28:00.000000000 
+0200
@@ -17,6 +17,7 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
 #include "gdk-pixbuf/gdk-pixbuf.h"
 #include "test-common.h"
 #include <string.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gdk-pixbuf-2.38.1/tests/test-images/fail/issue-95-too-narrow.xpm 
new/gdk-pixbuf-2.38.2/tests/test-images/fail/issue-95-too-narrow.xpm
--- old/gdk-pixbuf-2.38.1/tests/test-images/fail/issue-95-too-narrow.xpm        
1970-01-01 01:00:00.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/tests/test-images/fail/issue-95-too-narrow.xpm        
2019-09-09 00:28:00.000000000 +0200
@@ -0,0 +1,34 @@
+/* XPM */
+static char * plaid[] = {
+/* plaid pixmap
+ * width height ncolors chars_per_pixel */
+"220 220 4 2 ",
+/* colors */
+"   c red      m white  s light_color ",
+"Y  c green    m black  s lines_in_mix ",
+"+  c yellow   m white  s lines_in_dark ",
+"x             m black  s dark_color ",
+/* pixels */
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"Y Y Y Y Y x Y Y Y Y Y + x + x + x + x + x + ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"x x x x x x x x x x x x x x x x x x x x x x ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x "
+} ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gdk-pixbuf-2.38.1/tests/test-images/fail/issue-95-too-short.xpm 
new/gdk-pixbuf-2.38.2/tests/test-images/fail/issue-95-too-short.xpm
--- old/gdk-pixbuf-2.38.1/tests/test-images/fail/issue-95-too-short.xpm 
1970-01-01 01:00:00.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/tests/test-images/fail/issue-95-too-short.xpm 
2019-09-09 00:28:00.000000000 +0200
@@ -0,0 +1,34 @@
+/* XPM */
+static char * plaid[] = {
+/* plaid pixmap
+ * width height ncolors chars_per_pixel */
+"22 220 4 2 ",
+/* colors */
+"   c red      m white  s light_color ",
+"Y  c green    m black  s lines_in_mix ",
+"+  c yellow   m white  s lines_in_dark ",
+"x             m black  s dark_color ",
+/* pixels */
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"Y Y Y Y Y x Y Y Y Y Y + x + x + x + x + x + ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"x x x x x x x x x x x x x x x x x x x x x x ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x "
+} ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gdk-pixbuf-2.38.1/tests/test-images/fail/issue-95.xpm 
new/gdk-pixbuf-2.38.2/tests/test-images/fail/issue-95.xpm
--- old/gdk-pixbuf-2.38.1/tests/test-images/fail/issue-95.xpm   1970-01-01 
01:00:00.000000000 +0100
+++ new/gdk-pixbuf-2.38.2/tests/test-images/fail/issue-95.xpm   2019-09-09 
00:28:00.000000000 +0200
@@ -0,0 +1,34 @@
+/* XPM */
+static char * plaid[] = {
+/* plaid pixmap
+ * width height ncolors chars_per_pixel */
+"41474 21474 4 2 ",
+/* colors */
+"   c red      m white  s light_color ",
+"Y  c green    m black  s lines_in_mix ",
+"+  c yellow   m white  s lines_in_dark ",
+"x             m black  s dark_color ",
+/* pixels */
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"Y Y Y Y Y x Y Y Y Y Y + x + x + x + x + x + ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"  x   x   x   x   x   x x x x x x x x x x x ",
+"x   x   x x x   x   x x x x x x + x x x x x ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"x x x x x x x x x x x x x x x x x x x x x x ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x ",
+"          x             x   x   Y   x   x   ",
+"          x           x   x   x Y x   x   x "
+} ;


Reply via email to