[gnome-online-accounts/gnome-3-18] kerberos: Fail early on ticket request when ticketing disabled



commit 9071241eb084c380a1031299b284922f7f968e43
Author: Ray Strode <rstrode redhat com>
Date:   Tue Oct 13 09:05:30 2015 -0400

    kerberos: Fail early on ticket request when ticketing disabled
    
    Right now, it's possible to crash gnome-online-account if you
    turn of the kerberos slider at just the right moment when it's
    doing a refresh.
    
    This is because it will try to get a ticket when ticketing has
    already been disabled (and the ticketing interface is unset).
    
    This commit adds a check for that.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=756498

 src/goabackend/goakerberosprovider.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/src/goabackend/goakerberosprovider.c b/src/goabackend/goakerberosprovider.c
index 26b008e..2b541ef 100644
--- a/src/goabackend/goakerberosprovider.c
+++ b/src/goabackend/goakerberosprovider.c
@@ -284,7 +284,16 @@ get_ticket_sync (GoaKerberosProvider *self,
   account = goa_object_peek_account (object);
   identifier = goa_account_get_identity (account);
 
-  ticketing = goa_object_get_ticketing (GOA_OBJECT (object));
+  ticketing = goa_object_get_ticketing (object);
+  if (ticketing == NULL)
+    {
+      g_set_error (error,
+                   GOA_ERROR,
+                   GOA_ERROR_NOT_SUPPORTED,
+                   _("Ticketing is disabled for account"));
+      return FALSE;
+    }
+
   details = goa_ticketing_get_details (ticketing);
 
   preauth_source = NULL;


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