After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 158917 - gconfd crashes when changing values with gconf-editor
gconfd crashes when changing values with gconf-editor
Status: RESOLVED FIXED
Product: GConf
Classification: Deprecated
Component: gconf
2.8.x
Other Linux
: High normal
: ---
Assigned To: GConf Maintainers
GConf Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-11-21 13:19 UTC by Josselin Mouette
Modified: 2005-05-06 12:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8


Attachments
Proposed fix for gconf 2.8.1 (838 bytes, patch)
2004-11-21 13:19 UTC, Josselin Mouette
none Details | Review

Description Josselin Mouette 2004-11-21 13:19:09 UTC
If I start gconf-editor and change a value, gconfd segfaults. It isn't
noticeable because it restarts immediately and successfully.

Program received signal SIGSEGV, Segmentation fault.

Thread 1076605600 (LWP 22427)

  • #1 gconfd_notify_other_listeners
    at gconfd.c line 1160
$1 = (GConfValue *) 0x0
Comment 1 Josselin Mouette 2004-11-21 13:19:50 UTC
Created attachment 33980 [details] [review]
Proposed fix for gconf 2.8.1
Comment 2 Olav Vitters 2005-04-24 02:19:49 UTC
Ping?
Comment 3 Mark McLoughlin 2005-05-06 11:36:45 UTC
More correct fix is:

-                 cvalue = gconf_corba_value_from_gconf_value (value);
+                 if (value != NULL)
+                   {
+                     cvalue = gconf_corba_value_from_gconf_value (value);
+                   }
+                 else
+                   {
+                     cvalue = gconf_invalid_corba_value ();
+                   }


Committed on HEAD and gnome-2-10:

2005-05-06  Mark McLoughlin  <mark@skynet.ie>

        Fix for crasher. Based on patch from Josselin Mouette <joss@debian.org>
        in bug #158917

        * gconf/gconfd.c: (gconfd_notify_other_listeners): if the
        value is unset, create an InvalidVal ConfigValue.



Thanks
Comment 4 Mark McLoughlin 2005-05-06 12:44:29 UTC
Hmm, the gconf_value_free() needed to be moved into the if (value != NULL) case too.

2005-05-06  Mark McLoughlin  <mark@skynet.ie>

        Small fix for previous commit.

        * gconf/gconfd.c: (gconfd_notify_other_listeners):
        Don't try and free a NULL GConfValue.