[gnome-online-accounts/gnome-3-10] kerberos: make sure credential cache sequence is always explicitly ended



commit 30e67d1e82865a87f247d00deec030537e64d766
Author: Debarshi Ray <debarshir gnome org>
Date:   Mon Mar 17 09:51:27 2014 -0400

    kerberos: make sure credential cache sequence is always explicitly ended
    
    The code currently fails to pair krb5_cc_start_seq_get with krb5_cc_end_seq_get
    in an error case.  This can lead the cursor getting leaked.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=726353

 src/goaidentity/goakerberosidentity.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/goaidentity/goakerberosidentity.c b/src/goaidentity/goakerberosidentity.c
index e3e7664..8cbd5c2 100644
--- a/src/goaidentity/goakerberosidentity.c
+++ b/src/goaidentity/goakerberosidentity.c
@@ -653,9 +653,10 @@ verify_identity (GoaKerberosIdentity  *self,
                                       error_code,
                                       _("Could not sift through identity "
                                         "credentials in cache: %k"));
-      goto out;
+      goto end_sequence;
     }
 
+ end_sequence:
   error_code = krb5_cc_end_seq_get (self->priv->kerberos_context,
                                     self->priv->credentials_cache,
                                     &cursor);


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