summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/krb/gc_frm_kdc.c15
-rw-r--r--src/lib/krb5/os/hst_realm.c15
2 files changed, 10 insertions, 20 deletions
diff --git a/src/lib/krb5/krb/gc_frm_kdc.c b/src/lib/krb5/krb/gc_frm_kdc.c
index 90a49d6a6..801ea9f8a 100644
--- a/src/lib/krb5/krb/gc_frm_kdc.c
+++ b/src/lib/krb5/krb/gc_frm_kdc.c
@@ -787,7 +787,7 @@ krb5_get_cred_from_kdc_opt(krb5_context context, krb5_ccache ccache,
krb5_principal client, server, supplied_server, out_supplied_server;
krb5_creds tgtq, cc_tgt, *tgtptr, *referral_tgts[KRB5_REFERRAL_MAXHOPS];
krb5_boolean old_use_conf_ktypes;
- char **hrealms;
+ char *hrealm;
unsigned int referral_count, i;
/*
@@ -1021,23 +1021,22 @@ krb5_get_cred_from_kdc_opt(krb5_context context, krb5_ccache ccache,
*/
if (krb5_is_referral_realm(&supplied_server->realm)) {
if (server->length >= 2) {
- retval=krb5_get_fallback_host_realm(context, &server->data[1],
- &hrealms);
+ retval=krb5int_get_fallback_host_realm(context, &server->data[1],
+ &hrealm);
if (retval) goto cleanup;
#if 0
DPRINTF(("gc_from_kdc: using fallback realm of %s\n",
- hrealms[0]));
+ hrealm));
#endif
krb5_free_data_contents(context,&in_cred->server->realm);
- server->realm.data=hrealms[0];
- server->realm.length=strlen(hrealms[0]);
- free(hrealms);
+ server->realm.data=hrealm;
+ server->realm.length=strlen(hrealm);
}
else {
/*
* Problem case: Realm tagged for referral but apparently not
* in a <type>/<host> format that
- * krb5_get_fallback_host_realm can deal with.
+ * krb5int_get_fallback_host_realm can deal with.
*/
DPRINTF(("gc_from_kdc: referral specified "
"but no fallback realm avaiable!\n"));
diff --git a/src/lib/krb5/os/hst_realm.c b/src/lib/krb5/os/hst_realm.c
index 36c0e4860..a97ca6d98 100644
--- a/src/lib/krb5/os/hst_realm.c
+++ b/src/lib/krb5/os/hst_realm.c
@@ -335,9 +335,9 @@ krb5int_translate_gai_error (int num)
*/
krb5_error_code KRB5_CALLCONV
-krb5_get_fallback_host_realm(krb5_context context, krb5_data *hdata, char ***realmsp)
+krb5int_get_fallback_host_realm(krb5_context context, krb5_data *hdata,
+ char **realmp)
{
- char **retrealms;
char *realm, *cp;
krb5_error_code retval;
char local_host[MAXDNAME+1], host[MAXDNAME+1];
@@ -417,16 +417,7 @@ krb5_get_fallback_host_realm(krb5_context context, krb5_data *hdata, char ***rea
return retval;
}
- if (!(retrealms = (char **)calloc(2, sizeof(*retrealms)))) {
- if (realm != (char *)NULL)
- free(realm);
- return ENOMEM;
- }
-
- retrealms[0] = realm;
- retrealms[1] = 0;
-
- *realmsp = retrealms;
+ *realmp = realm;
return 0;
}