Author: gd
Date: 2007-08-28 16:39:03 +0000 (Tue, 28 Aug 2007)
New Revision: 24752

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24752

Log:
Make sure to return properly when the locator is called from within winbindd.

Guenther

Modified:
   branches/SAMBA_3_2/source/libads/smb_krb5_locator.c
   branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c


Changeset:
Modified: branches/SAMBA_3_2/source/libads/smb_krb5_locator.c
===================================================================
--- branches/SAMBA_3_2/source/libads/smb_krb5_locator.c 2007-08-28 16:24:18 UTC 
(rev 24751)
+++ branches/SAMBA_3_2/source/libads/smb_krb5_locator.c 2007-08-28 16:39:03 UTC 
(rev 24752)
@@ -340,16 +340,12 @@
                                "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 @@
        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

Modified: branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c
===================================================================
--- branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c       2007-08-28 
16:24:18 UTC (rev 24751)
+++ branches/SAMBA_3_2_0/source/libads/smb_krb5_locator.c       2007-08-28 
16:39:03 UTC (rev 24752)
@@ -340,16 +340,12 @@
                                "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 @@
        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

Reply via email to