Blame SOURCES/0008-libgdm-Use-auto-pointers-and-cleanup-code.patch

b61949
From 4a22da5123f3097fa0e3fff82a5b556b0f021f7b Mon Sep 17 00:00:00 2001
b61949
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
b61949
Date: Fri, 1 Jun 2018 17:22:20 +0200
b61949
Subject: [PATCH 08/15] libgdm: Use auto-pointers and cleanup code
b61949
b61949
---
b61949
 libgdm/gdm-client.c | 13 +++++--------
b61949
 1 file changed, 5 insertions(+), 8 deletions(-)
b61949
b61949
diff --git a/libgdm/gdm-client.c b/libgdm/gdm-client.c
b61949
index 335a040a2..7b42b6c99 100644
b61949
--- a/libgdm/gdm-client.c
b61949
+++ b/libgdm/gdm-client.c
b61949
@@ -579,109 +579,106 @@ gdm_client_get_connection (GdmClient           *client,
b61949
 
b61949
         get_manager (client,
b61949
                      cancellable,
b61949
                      (GAsyncReadyCallback)
b61949
                      on_got_manager_for_opening_connection,
b61949
                      task);
b61949
 }
b61949
 
b61949
 /**
b61949
  * gdm_client_open_reauthentication_channel_sync:
b61949
  * @client: a #GdmClient
b61949
  * @username: user to reauthenticate
b61949
  * @cancellable: a #GCancellable
b61949
  * @error: a #GError
b61949
  *
b61949
  * Gets a #GdmUserVerifier object that can be used to
b61949
  * reauthenticate an already logged in user. Free with
b61949
  * g_object_unref to close reauthentication channel.
b61949
  *
b61949
  * Returns: (transfer full): #GdmUserVerifier or %NULL if @username is not
b61949
  * already logged in.
b61949
  */
b61949
 GdmUserVerifier *
b61949
 gdm_client_open_reauthentication_channel_sync (GdmClient     *client,
b61949
                                                const char    *username,
b61949
                                                GCancellable  *cancellable,
b61949
                                                GError       **error)
b61949
 {
b61949
         g_autoptr(GDBusConnection) connection = NULL;
b61949
         g_autoptr(GdmManager) manager = NULL;
b61949
+        g_autofree char *address = NULL;
b61949
         GdmUserVerifier *user_verifier = NULL;
b61949
         gboolean         ret;
b61949
-        char            *address;
b61949
 
b61949
         g_return_val_if_fail (GDM_IS_CLIENT (client), FALSE);
b61949
 
b61949
         manager = gdm_manager_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
b61949
                                                       G_DBUS_PROXY_FLAGS_NONE,
b61949
                                                       "org.gnome.DisplayManager",
b61949
                                                       "/org/gnome/DisplayManager/Manager",
b61949
                                                       cancellable,
b61949
                                                       error);
b61949
 
b61949
         if (manager == NULL) {
b61949
-                goto out;
b61949
+                return NULL;
b61949
         }
b61949
 
b61949
         ret = gdm_manager_call_open_reauthentication_channel_sync (manager,
b61949
                                                                    username,
b61949
                                                                    &address,
b61949
                                                                    cancellable,
b61949
                                                                    error);
b61949
 
b61949
         if (!ret) {
b61949
-                goto out;
b61949
+                return NULL;
b61949
         }
b61949
 
b61949
-        g_debug ("GdmClient: connecting to address: %s", client->priv->address);
b61949
+        g_debug ("GdmClient: connecting to address: %s", address);
b61949
 
b61949
         connection = g_dbus_connection_new_for_address_sync (address,
b61949
                                                              G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT,
b61949
                                                              NULL,
b61949
                                                              cancellable,
b61949
                                                              error);
b61949
 
b61949
         if (connection == NULL) {
b61949
-                g_free (address);
b61949
-                goto out;
b61949
+                return NULL;
b61949
         }
b61949
-        g_free (address);
b61949
 
b61949
         user_verifier = gdm_user_verifier_proxy_new_sync (connection,
b61949
                                                           G_DBUS_PROXY_FLAGS_NONE,
b61949
                                                           NULL,
b61949
                                                           SESSION_DBUS_PATH,
b61949
                                                           cancellable,
b61949
                                                           error);
b61949
 
b61949
- out:
b61949
         return user_verifier;
b61949
 }
b61949
 
b61949
 /**
b61949
  * gdm_client_open_reauthentication_channel:
b61949
  * @client: a #GdmClient
b61949
  * @username: user to reauthenticate
b61949
  * @callback: a #GAsyncReadyCallback to call when the request is satisfied
b61949
  * @user_data: The data to pass to @callback
b61949
  * @cancellable: a #GCancellable
b61949
  *
b61949
  * Gets a #GdmUserVerifier object that can be used to
b61949
  * reauthenticate an already logged in user.
b61949
  */
b61949
 void
b61949
 gdm_client_open_reauthentication_channel (GdmClient           *client,
b61949
                                           const char          *username,
b61949
                                           GCancellable        *cancellable,
b61949
                                           GAsyncReadyCallback  callback,
b61949
                                           gpointer             user_data)
b61949
 {
b61949
         GTask *task;
b61949
 
b61949
         g_return_if_fail (GDM_IS_CLIENT (client));
b61949
 
b61949
         task = g_task_new (G_OBJECT (client),
b61949
                            cancellable,
b61949
                            callback,
b61949
                            user_data);
b61949
 
b61949
-- 
52125b
2.25.1
b61949