diff options
-rw-r--r-- | ChangeLog | 23 | ||||
-rw-r--r-- | daemon/gdm-chooser-server.c | 12 | ||||
-rw-r--r-- | daemon/gdm-product-slave.c | 8 | ||||
-rw-r--r-- | daemon/gdm-session-worker.c | 12 | ||||
-rw-r--r-- | daemon/gdm-slave.c | 12 | ||||
-rw-r--r-- | gui/simple-chooser/gdm-chooser-client.c | 8 | ||||
-rw-r--r-- | gui/simple-greeter/gdm-greeter-client.c | 12 | ||||
-rw-r--r-- | gui/simple-greeter/gdm-greeter-session.c | 4 | ||||
-rw-r--r-- | gui/simple-greeter/gdm-user-manager.c | 8 | ||||
-rw-r--r-- | utils/gdmflexiserver.c | 55 |
10 files changed, 132 insertions, 22 deletions
@@ -1,3 +1,26 @@ +2008-03-12 William Jon McCann <jmccann@redhat.com> + + * daemon/gdm-chooser-server.c: (handle_select_hostname), + (handle_disconnect), (do_introspect): + * daemon/gdm-product-slave.c: (send_dbus_string_method), + (send_dbus_void_method): + * daemon/gdm-session-worker.c: (send_dbus_string_method), + (send_dbus_int_method), (send_dbus_void_method): + * daemon/gdm-slave.c: (activate_session_id), (session_unlock): + * gui/simple-chooser/gdm-chooser-client.c: + (send_dbus_string_method), (send_dbus_void_method): + * gui/simple-greeter/gdm-greeter-client.c: + (send_dbus_string_method), (send_dbus_bool_method), + (send_dbus_void_method): + * gui/simple-greeter/gdm-greeter-session.c: + (send_dbus_string_method): + * gui/simple-greeter/gdm-user-manager.c: (activate_session_id): + * utils/gdmflexiserver.c: (create_transient_display), + (get_current_session_id), (get_seat_id_for_session), + (activate_session_id), (session_is_login_window), + (seat_can_activate_sessions): + Fix a few leaks and make sure we don't unref null replies. + 2008-03-11 Ray Strode <rstrode@redhat.com> * gui/simple-greeter/gdm-greeter-login-window.c: diff --git a/daemon/gdm-chooser-server.c b/daemon/gdm-chooser-server.c index 8d2576b8..48beb2cf 100644 --- a/daemon/gdm-chooser-server.c +++ b/daemon/gdm-chooser-server.c @@ -131,7 +131,9 @@ handle_select_hostname (GdmChooserServer *chooser_server, reply = dbus_message_new_method_return (message); dbus_connection_send (connection, reply, NULL); - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } g_signal_emit (chooser_server, signals [HOSTNAME_SELECTED], 0, text); @@ -147,7 +149,9 @@ handle_disconnect (GdmChooserServer *chooser_server, reply = dbus_message_new_method_return (message); dbus_connection_send (connection, reply, NULL); - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } g_signal_emit (chooser_server, signals [DISCONNECTED], 0); @@ -219,7 +223,9 @@ do_introspect (DBusConnection *connection, g_error ("No memory"); } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } return DBUS_HANDLER_RESULT_HANDLED; } diff --git a/daemon/gdm-product-slave.c b/daemon/gdm-product-slave.c index 6d483838..fbde8fe2 100644 --- a/daemon/gdm-product-slave.c +++ b/daemon/gdm-product-slave.c @@ -139,7 +139,9 @@ send_dbus_string_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; @@ -178,7 +180,9 @@ send_dbus_void_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c index f8bce596..462cc3a0 100644 --- a/daemon/gdm-session-worker.c +++ b/daemon/gdm-session-worker.c @@ -381,7 +381,9 @@ send_dbus_string_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; @@ -418,7 +420,9 @@ send_dbus_int_method (DBusConnection *connection, -1, &error); dbus_message_unref (message); - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); if (dbus_error_is_set (&error)) { @@ -456,7 +460,9 @@ send_dbus_void_method (DBusConnection *connection, -1, &error); dbus_message_unref (message); - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); if (dbus_error_is_set (&error)) { diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c index e717df4d..bc2a9e0e 100644 --- a/daemon/gdm-slave.c +++ b/daemon/gdm-slave.c @@ -954,6 +954,7 @@ activate_session_id (GdmSlave *slave, gboolean ret; ret = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call ("org.freedesktop.ConsoleKit", @@ -986,6 +987,13 @@ activate_session_id (GdmSlave *slave, ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } @@ -1012,7 +1020,9 @@ session_unlock (GdmSlave *slave, message, -1, &error); dbus_message_unref (message); - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (dbus_g_connection_get_connection (slave->priv->connection)); if (dbus_error_is_set (&error)) { diff --git a/gui/simple-chooser/gdm-chooser-client.c b/gui/simple-chooser/gdm-chooser-client.c index 33ac53bb..7c1dfff9 100644 --- a/gui/simple-chooser/gdm-chooser-client.c +++ b/gui/simple-chooser/gdm-chooser-client.c @@ -119,7 +119,9 @@ send_dbus_string_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; @@ -159,7 +161,9 @@ send_dbus_void_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; diff --git a/gui/simple-greeter/gdm-greeter-client.c b/gui/simple-greeter/gdm-greeter-client.c index 3e55403c..aaa6370b 100644 --- a/gui/simple-greeter/gdm-greeter-client.c +++ b/gui/simple-greeter/gdm-greeter-client.c @@ -293,7 +293,9 @@ send_dbus_string_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; @@ -339,7 +341,9 @@ send_dbus_bool_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; @@ -378,7 +382,9 @@ send_dbus_void_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; diff --git a/gui/simple-greeter/gdm-greeter-session.c b/gui/simple-greeter/gdm-greeter-session.c index 8a6e3e2a..9707e89a 100644 --- a/gui/simple-greeter/gdm-greeter-session.c +++ b/gui/simple-greeter/gdm-greeter-session.c @@ -595,7 +595,9 @@ send_dbus_string_method (DBusConnection *connection, error.message); return FALSE; } - dbus_message_unref (reply); + if (reply != NULL) { + dbus_message_unref (reply); + } dbus_connection_flush (connection); return TRUE; diff --git a/gui/simple-greeter/gdm-user-manager.c b/gui/simple-greeter/gdm-user-manager.c index 5e6ce6f2..fe7dccbf 100644 --- a/gui/simple-greeter/gdm-user-manager.c +++ b/gui/simple-greeter/gdm-user-manager.c @@ -216,6 +216,7 @@ activate_session_id (GdmUserManager *manager, gboolean ret; ret = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call ("org.freedesktop.ConsoleKit", @@ -248,6 +249,13 @@ activate_session_id (GdmUserManager *manager, ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } diff --git a/utils/gdmflexiserver.c b/utils/gdmflexiserver.c index e1666f8d..e57f6436 100644 --- a/utils/gdmflexiserver.c +++ b/utils/gdmflexiserver.c @@ -147,6 +147,7 @@ create_transient_display (DBusConnection *connection) const char *value; ret = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call (GDM_DBUS_NAME, @@ -174,10 +175,15 @@ create_transient_display (DBusConnection *connection) dbus_message_iter_get_basic (&iter, &value); g_debug ("Started %s", value); - dbus_message_unref (reply); - ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } @@ -193,6 +199,7 @@ get_current_session_id (DBusConnection *connection, const char *value; ret = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call (CK_NAME, @@ -221,10 +228,16 @@ get_current_session_id (DBusConnection *connection, if (session_id != NULL) { *session_id = g_strdup (value); } - dbus_message_unref (reply); ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } @@ -241,6 +254,7 @@ get_seat_id_for_session (DBusConnection *connection, const char *value; ret = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call (CK_NAME, @@ -269,10 +283,16 @@ get_seat_id_for_session (DBusConnection *connection, if (seat_id != NULL) { *seat_id = g_strdup (value); } - dbus_message_unref (reply); ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } @@ -306,6 +326,7 @@ activate_session_id (DBusConnection *connection, gboolean ret; ret = FALSE; + reply = NULL; g_debug ("Switching to session %s", session_id); @@ -340,6 +361,13 @@ activate_session_id (DBusConnection *connection, ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } @@ -355,6 +383,7 @@ session_is_login_window (DBusConnection *connection, const char *value; ret = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call (CK_NAME, @@ -385,10 +414,15 @@ session_is_login_window (DBusConnection *connection, goto out; } - dbus_message_unref (reply); - ret = TRUE; out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return ret; } @@ -403,6 +437,7 @@ seat_can_activate_sessions (DBusConnection *connection, gboolean can_activate; can_activate = FALSE; + reply = NULL; dbus_error_init (&local_error); message = dbus_message_new_method_call (CK_NAME, @@ -428,9 +463,15 @@ seat_can_activate_sessions (DBusConnection *connection, dbus_message_iter_init (reply, &iter); dbus_message_iter_get_basic (&iter, &can_activate); - dbus_message_unref (reply); out: + if (message != NULL) { + dbus_message_unref (message); + } + if (reply != NULL) { + dbus_message_unref (reply); + } + return can_activate; } |