Signed-off-by: Doug Nazar <nazard@xxxxxxxx> --- utils/gssd/gss_names.c | 6 ++++-- utils/gssd/krb5_util.c | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/utils/gssd/gss_names.c b/utils/gssd/gss_names.c index 2a7f3a13..982b96f4 100644 --- a/utils/gssd/gss_names.c +++ b/utils/gssd/gss_names.c @@ -110,10 +110,12 @@ get_hostbased_client_name(gss_name_t client_name, gss_OID mech, /* For Kerberos, transform the NT_KRB5_PRINCIPAL name to * an NT_HOSTBASED_SERVICE name */ if (g_OID_equal(&krb5oid, mech)) { - if (get_krb5_hostbased_name(&name, &cname) == 0) - *hostbased_name = cname; + if (get_krb5_hostbased_name(&name, &cname) != 0) + goto out_rel_buf; + *hostbased_name = cname; } else { printerr(1, "WARNING: unknown/unsupport mech OID\n"); + goto out_rel_buf; } res = 0; diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c index 34c81daa..1d7b30c6 100644 --- a/utils/gssd/krb5_util.c +++ b/utils/gssd/krb5_util.c @@ -875,10 +875,10 @@ find_keytab_entry(krb5_context context, krb5_keytab kt, /* Compute the active directory machine name HOST$ */ krb5_appdefault_string(context, "nfs", NULL, "ad_principal_name", notsetstr, &adhostoverride); - if (strcmp(adhostoverride, notsetstr) != 0) { - printerr (1, - "AD host string overridden with \"%s\" from appdefaults\n", - adhostoverride); + if (adhostoverride && strcmp(adhostoverride, notsetstr) != 0) { + printerr(1, + "AD host string overridden with \"%s\" from appdefaults\n", + adhostoverride); /* No overflow: Windows cannot handle strings longer than 19 chars */ strcpy(myhostad, adhostoverride); } else { -- 2.26.2