summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2008-01-04 23:07:17 +0000
committerBrian Cameron <bcameron@src.gnome.org>2008-01-04 23:07:17 +0000
commit6241e976a326d0c2fdf4a304a6370812682dc6df (patch)
treeadc6228ab9a76adcfb7429e909ee3345b1a34180
parenteff6a7a4441ff23a2b223fb95fb607cd7f19fd6f (diff)
downloadgdm-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--ChangeLog8
-rw-r--r--daemon/gdm-daemon-config.c13
2 files changed, 12 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 8cb2d7a2..5111768c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}