summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libads/smb_krb5_locator.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source3/libads/smb_krb5_locator.c b/source3/libads/smb_krb5_locator.c
index 91ea24b30f..33f2a414d0 100644
--- a/source3/libads/smb_krb5_locator.c
+++ b/source3/libads/smb_krb5_locator.c
@@ -340,16 +340,12 @@ krb5_error_code smb_krb5_locator_lookup(void *private_data,
"failed to query winbindd\n",
(unsigned int)getpid());
#endif
-
-#ifdef KRB5_PLUGIN_NO_HANDLE
- return KRB5_PLUGIN_NO_HANDLE;
-#else
- return KRB5_KDC_UNREACH; /* Heimdal */
-#endif
+ goto failed;
}
} else {
/* FIXME: here comes code for locator being called from within
* winbind */
+ goto failed;
}
#ifdef DEBUG_KRB5
fprintf(stderr, "[%5u]: smb_krb5_locator_lookup: "
@@ -367,6 +363,13 @@ krb5_error_code smb_krb5_locator_lookup(void *private_data,
SAFE_FREE(kdc_name);
return ret;
+
+ failed:
+#ifdef KRB5_PLUGIN_NO_HANDLE
+ return KRB5_PLUGIN_NO_HANDLE;
+#else
+ return KRB5_KDC_UNREACH; /* Heimdal */
+#endif
}
#ifdef HEIMDAL_KRB5_LOCATE_PLUGIN_H