Public bug reported:

GSettings in GLib 2.32.3 has a bug where the "changed" signal is emitted
for child settings objects as if they were keys ending with "/".

That was fixed upstream and merged into the glib-2-32 stable branch
here:
https://git.gnome.org/browse/glib/commit/?h=glib-2-32&id=e6f659a898595ba944bd02f0509b14694d1c26e7

GLib 2.32.4 was since released and contains the fix.


This fix is needed because there exists software (muffin) that contains
code along these lines:


void
change_event_handler (GSettings *settings, const gchar *key, gpointer user_data)
{
  ...
  g_settings_get_value (settings, key);
  ...
}

and it's invalid to pass a key containing "/" to g_settings_get_value()
(causing crashes).

This only happens when entire paths are reset (such as when running
'dconf update').  That makes the issue relatively rare but it's
affecting corporate deployments (Google, specifically).

We should either do an SRU with just the patch linked to above to
(ideally) QA and SRU the entire GLib 2.32.4 release to precise.

** Affects: glib2.0 (Ubuntu)
     Importance: Undecided
         Status: New

** Package changed: ubuntu => glib2.0 (Ubuntu)

** Changed in: glib2.0 (Ubuntu)
    Milestone: None => precise-updates

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to glib2.0 in Ubuntu.
https://bugs.launchpad.net/bugs/1154370

Title:
  [precise SRU] crash due to improper handling of "/" in GSettings

Status in “glib2.0” package in Ubuntu:
  New

Bug description:
  GSettings in GLib 2.32.3 has a bug where the "changed" signal is
  emitted for child settings objects as if they were keys ending with
  "/".

  That was fixed upstream and merged into the glib-2-32 stable branch
  here:
  
https://git.gnome.org/browse/glib/commit/?h=glib-2-32&id=e6f659a898595ba944bd02f0509b14694d1c26e7

  GLib 2.32.4 was since released and contains the fix.


  This fix is needed because there exists software (muffin) that
  contains code along these lines:

  
  void
  change_event_handler (GSettings *settings, const gchar *key, gpointer 
user_data)
  {
    ...
    g_settings_get_value (settings, key);
    ...
  }

  and it's invalid to pass a key containing "/" to
  g_settings_get_value() (causing crashes).

  This only happens when entire paths are reset (such as when running
  'dconf update').  That makes the issue relatively rare but it's
  affecting corporate deployments (Google, specifically).

  We should either do an SRU with just the patch linked to above to
  (ideally) QA and SRU the entire GLib 2.32.4 release to precise.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1154370/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to