diff options
author | Brian Cameron <brian.cameron@sun.com> | 2008-01-04 23:07:17 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2008-01-04 23:07:17 +0000 |
commit | 6241e976a326d0c2fdf4a304a6370812682dc6df (patch) | |
tree | adc6228ab9a76adcfb7429e909ee3345b1a34180 | |
parent | eff6a7a4441ff23a2b223fb95fb607cd7f19fd6f (diff) | |
download | gdm-6241e976a326d0c2fdf4a304a6370812682dc6df.tar.gz |
Fix memory management for code change I made on 2008-01-02. Thanks to
2008-01-04 Brian Cameron <brian.cameron@sun.com>
* daemon/gdm-daemon-config.c: Fix memory management for code
change I made on 2008-01-02. Thanks to Martin Weinberg for
pointing out the problem, though I wrote the fix.
svn path=/branches/gnome-2-20/; revision=5604
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | daemon/gdm-daemon-config.c | 13 |
2 files changed, 12 insertions, 9 deletions
@@ -1,4 +1,10 @@ -2008-01-03 Brian Cameron <brian.cameron@sun.com> +2008-01-04 Brian Cameron <brian.cameron@sun.com> + + * daemon/gdm-daemon-config.c: Fix memory management for code + change I made on 2008-01-02. Thanks to Martin Weinberg for + pointing out the problem, though I wrote the fix. + +2008-01-04 Brian Cameron <brian.cameron@sun.com> * daemon/verify-pam.c: I think I finally got the casting cleaned up so it should compile on Linux and Solaris diff --git a/daemon/gdm-daemon-config.c b/daemon/gdm-daemon-config.c index 9ce031d6..c4a92d3b 100644 --- a/daemon/gdm-daemon-config.c +++ b/daemon/gdm-daemon-config.c @@ -1184,21 +1184,18 @@ load_xservers_group (GdmConfig *config) { GPtrArray *server_groups; char **vname_array; - char *xserver_value; + char *xserver_group; int i, j; server_groups = gdm_config_get_server_groups (config); for (i=0; i < server_groups->len; i++) { - xserver_value = g_ptr_array_index (server_groups, i); - gdm_debug ("Processing server group <%s>", xserver_value); + xserver_group = g_ptr_array_index (server_groups, i); + gdm_debug ("Processing server group <%s>", xserver_group); - if (g_str_has_prefix (xserver_value, "server-")) { - char * xserver_group; + if (g_str_has_prefix (xserver_group, "server-")) { char * xserver_name; - xserver_group = g_strdup (xserver_value); - for (j = 0; j < G_N_ELEMENTS (gdm_daemon_server_config_entries); j++) { GdmConfigEntry *srv_entry; if (gdm_daemon_server_config_entries[j].key == NULL) { @@ -1206,7 +1203,7 @@ load_xservers_group (GdmConfig *config) } srv_entry = gdm_config_entry_copy (&gdm_daemon_server_config_entries[j]); g_free (srv_entry->group); - srv_entry->group = xserver_group; + srv_entry->group = g_strdup (xserver_group); gdm_config_process_entry (config, srv_entry, NULL); gdm_config_entry_free (srv_entry); } |