Hello community, here is the log from the commit of package glib2 for openSUSE:Factory checked in at 2019-01-26 22:17:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glib2 (Old) and /work/SRC/openSUSE:Factory/.glib2.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glib2" Sat Jan 26 22:17:45 2019 rev:203 rq:668677 version:2.58.3 Changes: -------- --- /work/SRC/openSUSE:Factory/glib2/glib2.changes 2018-12-28 12:32:41.536073306 +0100 +++ /work/SRC/openSUSE:Factory/.glib2.new.28833/glib2.changes 2019-01-26 22:17:48.507079701 +0100 @@ -1,0 +2,10 @@ +Mon Jan 21 15:53:13 UTC 2019 - bjorn....@gmail.com + +- Update to version 2.58.3: + + Fix GVariant tests on i686. + + Fix crashes caused by filtering of mounts. + + Bugs fixed: glgo#gnome/GLib#1626, glgo#gnome/GLib#1637, + glgo#gnome/GLib#1645, glgo#gnome/GLib!558, glgo#gnome/GLib!577, + glgo#gnome/GLib!578. + +------------------------------------------------------------------- @@ -141,0 +152,7 @@ + + Security fixes: + - Fix NULL pointer dereference in + g_markup_parse_context_end_parse() (boo#1107121 + glgo#GNOME/glib#1364 glgo#GNOME/glib#1461 CVE-2018-16428) + - Fix out-of-bounds read in g_markup_parse_context_parse() + (boo##1107116 glgo#GNOME/glib#1361 glgo#GNOME/glib#1462 + CVE-2018-16429) @@ -162 +179 @@ - problems diagnosability. + problems diagnosability (bsc#1090047). Old: ---- glib-2.58.2.tar.xz New: ---- glib-2.58.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glib2.spec ++++++ --- /var/tmp/diff_new_pack.gLMn42/_old 2019-01-26 22:17:49.155079176 +0100 +++ /var/tmp/diff_new_pack.gLMn42/_new 2019-01-26 22:17:49.155079176 +0100 @@ -1,7 +1,7 @@ # # spec file for package glib2 # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ # suspicious failures that seems to point to Glib. %bcond_with meson Name: glib2 -Version: 2.58.2 +Version: 2.58.3 Release: 0 Summary: General-Purpose Utility Library License: LGPL-2.1-or-later ++++++ glib-2.58.2.tar.xz -> glib-2.58.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/NEWS new/glib-2.58.3/NEWS --- old/glib-2.58.2/NEWS 2018-12-18 15:51:13.000000000 +0100 +++ new/glib-2.58.3/NEWS 2019-01-21 14:38:50.000000000 +0100 @@ -1,3 +1,19 @@ +Overview of changes in GLib 2.58.3 +================================== + +* Fix GVariant tests on i686 (#1626) + +* Fix crashes caused by filtering of mounts (#1645) + +* Bugs fixed: + - #1626 2.58.2 GVariant test failure on i686 + - #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer + - #1645 2.58.2 introduces libgio segfaults + - !558 Backport Suppress -Wint-in-bool-context warning with G_DEFINE_INTERFACE and g++ to glib-2-58 + - !577 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined + - !578 gunixmounts: Fix segfaults caused by new filter of mounts + + Overview of changes in GLib 2.58.2 ================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/configure.ac new/glib-2.58.3/configure.ac --- old/glib-2.58.2/configure.ac 2018-12-18 15:51:13.000000000 +0100 +++ new/glib-2.58.3/configure.ac 2019-01-21 14:38:50.000000000 +0100 @@ -31,8 +31,8 @@ m4_define([glib_major_version], [2]) m4_define([glib_minor_version], [58]) -m4_define([glib_micro_version], [2]) -m4_define([glib_interface_age], [2]) +m4_define([glib_micro_version], [3]) +m4_define([glib_interface_age], [3]) m4_define([glib_binary_age], [m4_eval(100 * glib_minor_version + glib_micro_version)]) m4_define([glib_version], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/gio/gunixmounts.c new/glib-2.58.3/gio/gunixmounts.c --- old/glib-2.58.2/gio/gunixmounts.c 2018-12-18 15:51:13.000000000 +0100 +++ new/glib-2.58.3/gio/gunixmounts.c 2019-01-21 14:38:50.000000000 +0100 @@ -486,6 +486,11 @@ if (mnt_table_parse_mtab (table, NULL) < 0) goto out; + /* Use only the first mount for device, see comment from _g_get_unix_mounts + * in #else branch. + */ + mnt_table_uniq_fs (table, MNT_UNIQ_FORWARD, uniq_fs_source_cmp); + iter = mnt_new_iter (MNT_ITER_FORWARD); while (mnt_table_next_fs (table, iter, &fs) == 0) { @@ -494,11 +499,6 @@ unsigned long mount_flags = 0; gboolean is_read_only = FALSE; - /* Use only the first mount for device, see comment from _g_get_unix_mounts - * in #else branch. - */ - mnt_table_uniq_fs (table, MNT_UNIQ_FORWARD, uniq_fs_source_cmp); - device_path = mnt_fs_get_source (fs); if (g_strcmp0 (device_path, "/dev/root") == 0) device_path = _resolve_dev_root (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/gio/gwin32appinfo.c new/glib-2.58.3/gio/gwin32appinfo.c --- old/glib-2.58.2/gio/gwin32appinfo.c 2018-12-18 15:51:13.000000000 +0100 +++ new/glib-2.58.3/gio/gwin32appinfo.c 2019-01-21 14:38:50.000000000 +0100 @@ -1426,7 +1426,7 @@ GWin32RegistrySubkeyIter subkey_iter; GWin32RegistryKey *system_client_type; GWin32RegistryValueType default_type; - gunichar2 *default_value; + gunichar2 *default_value = NULL; gunichar2 *client_name; gsize client_name_len; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/gio/tests/trash.c new/glib-2.58.3/gio/tests/trash.c --- old/glib-2.58.2/gio/tests/trash.c 2018-12-18 15:51:13.000000000 +0100 +++ new/glib-2.58.3/gio/tests/trash.c 2019-01-21 14:38:50.000000000 +0100 @@ -107,14 +107,54 @@ g_test_bug ("1522"); - /* The test assumes that ~/.local always exists. */ target = g_build_filename (g_get_home_dir (), ".local", NULL); + + if (!g_file_test (target, G_FILE_TEST_IS_DIR)) + { + gchar *message; + + message = g_strdup_printf ("Directory '%s' does not exist", target); + g_test_skip (message); + g_free (message); + g_free (target); + return; + } + target_mount = g_unix_mount_for (target, NULL); + + if (target_mount == NULL) + { + gchar *message; + + message = g_strdup_printf ("Unable to determine mount point for %s", + target); + g_test_skip (message); + g_free (message); + g_free (target); + return; + } + g_assert_nonnull (target_mount); g_test_message ("Target: %s (mount: %s)", target, g_unix_mount_get_mount_path (target_mount)); tmp = g_dir_make_tmp ("test-trashXXXXXX", &error); + g_assert_no_error (error); + g_assert_nonnull (tmp); tmp_mount = g_unix_mount_for (tmp, NULL); + + if (tmp_mount == NULL) + { + gchar *message; + + message = g_strdup_printf ("Unable to determine mount point for %s", tmp); + g_test_skip (message); + g_free (message); + g_unix_mount_free (target_mount); + g_free (target); + g_free (tmp); + return; + } + g_assert_nonnull (tmp_mount); g_test_message ("Tmp: %s (mount: %s)", tmp, g_unix_mount_get_mount_path (tmp_mount)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/glib/tests/gvariant.c new/glib-2.58.3/glib/tests/gvariant.c --- old/glib-2.58.2/glib/tests/gvariant.c 2018-12-18 15:51:14.000000000 +0100 +++ new/glib-2.58.3/glib/tests/gvariant.c 2019-01-21 14:38:50.000000000 +0100 @@ -4770,6 +4770,7 @@ static void test_normal_checking_tuples (void) { + gpointer aligned_data; const guint8 data[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 'a', '(', 'a', 'o', 'a', 'o', 'a', 'a', 'o', 'a', 'a', 'o', ')' @@ -4778,13 +4779,15 @@ GVariant *variant = NULL; GVariant *normal_variant = NULL; - variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, data, size, + aligned_data = g_memdup (data, size); /* guarantee alignment */ + variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, aligned_data, size, FALSE, NULL, NULL); g_assert_nonnull (variant); normal_variant = g_variant_get_normal_form (variant); g_assert_nonnull (normal_variant); + g_free (aligned_data); g_variant_unref (normal_variant); g_variant_unref (variant); } @@ -4896,6 +4899,7 @@ static void test_normal_checking_array_offsets (void) { + gpointer aligned_data; const guint8 data[] = { 0x07, 0xe5, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'g', @@ -4904,13 +4908,15 @@ GVariant *variant = NULL; GVariant *normal_variant = NULL; - variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, data, size, + aligned_data = g_memdup (data, size); /* guarantee alignment */ + variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, aligned_data, size, FALSE, NULL, NULL); g_assert_nonnull (variant); normal_variant = g_variant_get_normal_form (variant); g_assert_nonnull (normal_variant); + g_free (aligned_data); g_variant_unref (normal_variant); g_variant_unref (variant); } @@ -4920,6 +4926,7 @@ static void test_normal_checking_tuple_offsets (void) { + gpointer aligned_data; const guint8 data[] = { 0x07, 0xe5, 0x00, 0x07, 0x00, 0x07, '(', 'a', 's', 'a', 's', 'a', 's', 'a', 's', 'a', 's', 'a', 's', ')', @@ -4928,13 +4935,15 @@ GVariant *variant = NULL; GVariant *normal_variant = NULL; - variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, data, size, - FALSE, NULL, NULL); + aligned_data = g_memdup (data, size); /* guarantee alignment */ + variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, aligned_data, + size, FALSE, NULL, NULL); g_assert_nonnull (variant); normal_variant = g_variant_get_normal_form (variant); g_assert_nonnull (normal_variant); + g_free (aligned_data); g_variant_unref (normal_variant); g_variant_unref (variant); } @@ -4944,6 +4953,7 @@ static void test_normal_checking_empty_object_path (void) { + gpointer aligned_data; const guint8 data[] = { 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, '(', 'h', '(', 'a', 'i', 'a', 'b', 'i', 'o', ')', ')', @@ -4952,13 +4962,15 @@ GVariant *variant = NULL; GVariant *normal_variant = NULL; - variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, data, size, + aligned_data = g_memdup (data, size); /* guarantee alignment */ + variant = g_variant_new_from_data (G_VARIANT_TYPE_VARIANT, aligned_data, size, FALSE, NULL, NULL); g_assert_nonnull (variant); normal_variant = g_variant_get_normal_form (variant); g_assert_nonnull (normal_variant); + g_free (aligned_data); g_variant_unref (normal_variant); g_variant_unref (variant); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/gobject/gtype.h new/glib-2.58.3/gobject/gtype.h --- old/glib-2.58.2/gobject/gtype.h 2018-12-18 15:51:14.000000000 +0100 +++ new/glib-2.58.3/gobject/gtype.h 2019-01-21 14:38:50.000000000 +0100 @@ -2023,7 +2023,7 @@ 0, \ (GInstanceInitFunc)NULL, \ (GTypeFlags) 0); \ - if (TYPE_PREREQ) \ + if (TYPE_PREREQ != G_TYPE_INVALID) \ g_type_interface_add_prerequisite (g_define_type_id, TYPE_PREREQ); \ { /* custom code follows */ #define _G_DEFINE_INTERFACE_EXTENDED_END() \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/glib-2.58.2/meson.build new/glib-2.58.3/meson.build --- old/glib-2.58.2/meson.build 2018-12-18 15:51:14.000000000 +0100 +++ new/glib-2.58.3/meson.build 2019-01-21 14:38:50.000000000 +0100 @@ -1,5 +1,5 @@ project('glib', 'c', 'cpp', - version : '2.58.2', + version : '2.58.3', meson_version : '>= 0.47.0', default_options : [ 'buildtype=debugoptimized',