summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-product-display.c2
-rw-r--r--daemon/gdm-product-slave.c1
-rw-r--r--daemon/gdm-server.c12
-rw-r--r--daemon/gdm-session-direct.c7
-rw-r--r--daemon/gdm-session-worker-job.c3
-rw-r--r--daemon/gdm-session-worker.c26
-rw-r--r--daemon/gdm-simple-slave.c16
-rw-r--r--daemon/gdm-slave-proxy.c1
-rw-r--r--daemon/gdm-slave.c1
-rw-r--r--daemon/gdm-welcome-session.c12
10 files changed, 58 insertions, 23 deletions
diff --git a/daemon/gdm-product-display.c b/daemon/gdm-product-display.c
index 5dbc4d16..9b68cb9a 100644
--- a/daemon/gdm-product-display.c
+++ b/daemon/gdm-product-display.c
@@ -244,6 +244,8 @@ gdm_product_display_finalize (GObject *object)
g_return_if_fail (product_display->priv != NULL);
+ g_free (product_display->priv->relay_address);
+
G_OBJECT_CLASS (gdm_product_display_parent_class)->finalize (object);
}
diff --git a/daemon/gdm-product-slave.c b/daemon/gdm-product-slave.c
index d5de7ceb..a423965e 100644
--- a/daemon/gdm-product-slave.c
+++ b/daemon/gdm-product-slave.c
@@ -854,6 +854,7 @@ create_new_session (GdmProductSlave *slave)
g_free (display_id);
g_free (display_name);
g_free (display_hostname);
+ g_free (display_x11_authority_file);
g_free (display_device);
g_signal_connect (slave->priv->session,
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
index 688118d8..dfb526e1 100644
--- a/daemon/gdm-server.c
+++ b/daemon/gdm-server.c
@@ -512,6 +512,7 @@ get_server_environment (GdmServer *server)
char **str;
str = g_strsplit (*l, "=", 2);
g_hash_table_insert (hash, str[0], str[1]);
+ g_free (str);
}
/* modify environment here */
@@ -962,6 +963,17 @@ gdm_server_finalize (GObject *object)
gdm_server_stop (server);
+ g_free (server->priv->command);
+ g_free (server->priv->user_name);
+ g_free (server->priv->session_args);
+ g_free (server->priv->log_dir);
+ g_free (server->priv->display_name);
+ g_free (server->priv->display_device);
+ g_free (server->priv->auth_file);
+ g_free (server->priv->parent_display_name);
+ g_free (server->priv->parent_auth_file);
+ g_free (server->priv->chosen_hostname);
+
G_OBJECT_CLASS (gdm_server_parent_class)->finalize (object);
}
diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
index 89250007..35a0b2e5 100644
--- a/daemon/gdm-session-direct.c
+++ b/daemon/gdm-session-direct.c
@@ -494,7 +494,6 @@ get_session_command_for_file (const char *file,
{
GKeyFile *key_file;
GError *error;
- char *full_path;
char *exec;
gboolean ret;
gboolean res;
@@ -510,11 +509,10 @@ get_session_command_for_file (const char *file,
g_debug ("GdmSessionDirect: looking for session file '%s'", file);
error = NULL;
- full_path = NULL;
res = g_key_file_load_from_dirs (key_file,
file,
get_system_session_dirs (),
- &full_path,
+ NULL,
G_KEY_FILE_NONE,
&error);
if (! res) {
@@ -2213,7 +2211,6 @@ gdm_session_direct_bypasses_xsession (GdmSessionDirect *session_direct)
gboolean res;
gboolean bypasses_xsession = FALSE;
char *filename;
- char *full_path;
g_return_val_if_fail (session_direct != NULL, FALSE);
g_return_val_if_fail (GDM_IS_SESSION_DIRECT (session_direct), FALSE);
@@ -2225,7 +2222,7 @@ gdm_session_direct_bypasses_xsession (GdmSessionDirect *session_direct)
res = g_key_file_load_from_dirs (key_file,
filename,
get_system_session_dirs (),
- &full_path,
+ NULL,
G_KEY_FILE_NONE,
&error);
if (! res) {
diff --git a/daemon/gdm-session-worker-job.c b/daemon/gdm-session-worker-job.c
index f359f4f4..50bf4c0a 100644
--- a/daemon/gdm-session-worker-job.c
+++ b/daemon/gdm-session-worker-job.c
@@ -446,6 +446,9 @@ gdm_session_worker_job_finalize (GObject *object)
gdm_session_worker_job_stop (session_worker_job);
+ g_free (session_worker_job->priv->command);
+ g_free (session_worker_job->priv->server_address);
+
G_OBJECT_CLASS (gdm_session_worker_job_parent_class)->finalize (object);
}
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index ec1d5b02..88a3430c 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -1652,6 +1652,9 @@ gdm_session_worker_accredit_user (GdmSessionWorker *worker,
ret = FALSE;
+ home = NULL;
+ shell = NULL;
+
if (worker->priv->username == NULL) {
g_debug ("GdmSessionWorker: Username not set");
error_code = PAM_USER_UNKNOWN;
@@ -1662,8 +1665,6 @@ gdm_session_worker_accredit_user (GdmSessionWorker *worker,
goto out;
}
- home = NULL;
- shell = NULL;
uid = 0;
gid = 0;
res = _lookup_passwd_info (worker->priv->username,
@@ -1722,6 +1723,8 @@ gdm_session_worker_accredit_user (GdmSessionWorker *worker,
ret = TRUE;
out:
+ g_free (home);
+ g_free (shell);
if (ret) {
g_debug ("GdmSessionWorker: state ACCREDITED");
ret = TRUE;
@@ -2970,19 +2973,16 @@ gdm_session_worker_finalize (GObject *object)
gdm_session_worker_unwatch_child (worker);
- if (worker->priv->username != NULL) {
- g_free (worker->priv->username);
- worker->priv->username = NULL;
- }
-
- if (worker->priv->arguments != NULL) {
- g_strfreev (worker->priv->arguments);
- worker->priv->arguments = NULL;
- }
-
+ g_free (worker->priv->service);
+ g_free (worker->priv->x11_display_name);
+ g_free (worker->priv->x11_authority_file);
+ g_free (worker->priv->display_device);
+ g_free (worker->priv->hostname);
+ g_free (worker->priv->username);
+ g_free (worker->priv->server_address);
+ g_strfreev (worker->priv->arguments);
if (worker->priv->environment != NULL) {
g_hash_table_destroy (worker->priv->environment);
- worker->priv->environment = NULL;
}
G_OBJECT_CLASS (gdm_session_worker_parent_class)->finalize (object);
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 8cdf4861..1fb57734 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -110,7 +110,10 @@ on_session_started (GdmSession *session,
/* Run the PreSession script. gdmslave suspends until script has terminated */
username = gdm_session_direct_get_username (slave->priv->session);
- gdm_slave_run_script (GDM_SLAVE (slave), GDMCONFDIR "/PreSession", username);
+ if (username != NULL) {
+ gdm_slave_run_script (GDM_SLAVE (slave), GDMCONFDIR "/PreSession", username);
+ }
+ g_free (username);
/* FIXME: should we do something here?
* Note that error return status from PreSession script should
@@ -131,7 +134,10 @@ on_session_exited (GdmSession *session,
/* Run the PostSession script. gdmslave suspends until script has terminated */
username = gdm_session_direct_get_username (slave->priv->session);
- gdm_slave_run_script (GDM_SLAVE (slave), GDMCONFDIR "/PostSession", username);
+ if (username != NULL) {
+ gdm_slave_run_script (GDM_SLAVE (slave), GDMCONFDIR "/PostSession", username);
+ }
+ g_free (username);
gdm_slave_stopped (GDM_SLAVE (slave));
}
@@ -354,6 +360,7 @@ stop_greeter (GdmSimpleSlave *slave)
if (username != NULL) {
gdm_slave_run_script (GDM_SLAVE (slave), GDMCONFDIR "/PostLogin", username);
}
+ g_free (username);
gdm_welcome_session_stop (GDM_WELCOME_SESSION (slave->priv->greeter));
gdm_greeter_server_stop (slave->priv->greeter_server);
@@ -1006,8 +1013,6 @@ start_greeter (GdmSimpleSlave *slave)
gdm_greeter_server_start (slave->priv->greeter_server);
- address = gdm_greeter_server_get_address (slave->priv->greeter_server);
-
g_debug ("GdmSimpleSlave: Creating greeter on %s %s %s", display_name, display_device, display_hostname);
slave->priv->greeter = gdm_greeter_session_new (display_name,
seat_id,
@@ -1033,7 +1038,10 @@ start_greeter (GdmSimpleSlave *slave)
g_object_set (slave->priv->greeter,
"x11-authority-file", auth_file,
NULL);
+
+ address = gdm_greeter_server_get_address (slave->priv->greeter_server);
gdm_welcome_session_set_server_address (GDM_WELCOME_SESSION (slave->priv->greeter), address);
+ g_free (address);
gdm_welcome_session_start (GDM_WELCOME_SESSION (slave->priv->greeter));
g_free (display_id);
diff --git a/daemon/gdm-slave-proxy.c b/daemon/gdm-slave-proxy.c
index d58d2c5b..48efbd14 100644
--- a/daemon/gdm-slave-proxy.c
+++ b/daemon/gdm-slave-proxy.c
@@ -422,6 +422,7 @@ gdm_slave_proxy_finalize (GObject *object)
g_return_if_fail (slave->priv != NULL);
g_free (slave->priv->command);
+ g_free (slave->priv->log_path);
G_OBJECT_CLASS (gdm_slave_proxy_parent_class)->finalize (object);
}
diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
index 578ea7fb..e23432be 100644
--- a/daemon/gdm-slave.c
+++ b/daemon/gdm-slave.c
@@ -332,6 +332,7 @@ gdm_slave_run_script (GdmSlave *slave,
g_ptr_array_foreach (env, (GFunc)g_free, NULL);
g_ptr_array_free (env, TRUE);
+ g_strfreev (argv);
if (! res) {
g_warning ("GdmSlave: Unable to run script: %s", error->message);
diff --git a/daemon/gdm-welcome-session.c b/daemon/gdm-welcome-session.c
index 84beb034..ba0e3580 100644
--- a/daemon/gdm-welcome-session.c
+++ b/daemon/gdm-welcome-session.c
@@ -803,7 +803,7 @@ parse_dbus_launch_output (const char *output,
}
if (addressp != NULL) {
- *addressp = g_strdup (g_match_info_fetch (match_info, 1));
+ *addressp = g_match_info_fetch (match_info, 1);
}
if (pidp != NULL) {
@@ -840,6 +840,8 @@ start_dbus_daemon (GdmWelcomeSession *welcome_session)
env = get_welcome_environment (welcome_session, FALSE);
+ std_out = NULL;
+ std_err = NULL;
error = NULL;
res = spawn_command_line_sync_as_user (DBUS_LAUNCH_COMMAND,
welcome_session->priv->user_name,
@@ -871,6 +873,8 @@ start_dbus_daemon (GdmWelcomeSession *welcome_session)
g_debug ("GdmWelcomeSession: Started D-Bus daemon on pid %d", welcome_session->priv->dbus_pid);
}
out:
+ g_free (std_out);
+ g_free (std_err);
return res;
}
@@ -1460,6 +1464,10 @@ gdm_welcome_session_finalize (GObject *object)
gdm_welcome_session_stop (welcome_session);
+ if (welcome_session->priv->ckc != NULL) {
+ ck_connector_unref (welcome_session->priv->ckc);
+ }
+
g_free (welcome_session->priv->command);
g_free (welcome_session->priv->user_name);
g_free (welcome_session->priv->group_name);
@@ -1472,6 +1480,8 @@ gdm_welcome_session_finalize (GObject *object)
g_free (welcome_session->priv->server_address);
g_free (welcome_session->priv->server_dbus_path);
g_free (welcome_session->priv->server_dbus_interface);
+ g_free (welcome_session->priv->server_env_var_name);
+ g_free (welcome_session->priv->dbus_bus_address);
G_OBJECT_CLASS (gdm_welcome_session_parent_class)->finalize (object);
}