general cleanup of TLD init
authorLuke Howard <lukeh@padl.com>
Fri, 16 Sep 2011 21:49:44 +0000 (07:49 +1000)
committerLuke Howard <lukeh@padl.com>
Sat, 17 Sep 2011 06:17:03 +0000 (16:17 +1000)
moonshot/mech_eap/util_krb.c

index ce3d0f6..06da80e 100644 (file)
@@ -82,17 +82,18 @@ gssEapKerberosInit(OM_uint32 *minor, krb5_context *context)
     struct gss_eap_thread_local_data *tld;
 
     *minor = 0;
+    *context = NULL;
 
     tld = gssEapGetThreadLocalData();
     if (tld != NULL) {
-        *context = tld->krbContext;
-        if (*context == NULL) {
-            *minor = initKrbContext(context);
+        if (tld->krbContext == NULL) {
+            *minor = initKrbContext(&tld->krbContext);
             if (*minor == 0)
-                tld->krbContext = *context;
+                *context = tld->krbContext;
         }
     }
-    return *minor == 0 ? GSS_S_COMPLETE : GSS_S_FAILURE;
+
+    return (*minor == 0) ? GSS_S_COMPLETE : GSS_S_FAILURE;
 }
 
 /*