[gnome-online-accounts] kerberos: Re-throw the GError from sign_in_identity and don't leak it



commit 1fc0239bf70d4b1a2f81070eeb2b58645e28965a
Author: Debarshi Ray <debarshir gnome org>
Date:   Mon Jul 18 16:20:54 2016 +0200

    kerberos: Re-throw the GError from sign_in_identity and don't leak it
    
    Fall out from fb4e20d79ac2b529106e7b1601ca9a6959e88eef
    
    https://bugzilla.gnome.org/show_bug.cgi?id=764157

 src/goabackend/goakerberosprovider.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/src/goabackend/goakerberosprovider.c b/src/goabackend/goakerberosprovider.c
index efa4105..b9b31a2 100644
--- a/src/goabackend/goakerberosprovider.c
+++ b/src/goabackend/goakerberosprovider.c
@@ -822,7 +822,13 @@ on_initial_sign_in_done (GoaKerberosProvider *self,
 
   error = NULL;
   object_path = g_task_propagate_pointer (G_TASK (result), &error);
-  if (!g_task_had_error (G_TASK (result)) && remember_password)
+  if (error != NULL)
+    {
+      g_task_return_error (operation_result, error);
+      goto out;
+    }
+
+  if (remember_password)
     {
       GVariantBuilder  builder;
 
@@ -854,6 +860,7 @@ on_initial_sign_in_done (GoaKerberosProvider *self,
 
   g_task_return_boolean (operation_result, TRUE);
 
+ out:
   g_free (object_path);
   g_object_unref (operation_result);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]