summaryrefslogtreecommitdiffstats
path: root/ipa-client/ipa-getkeytab.c
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-client/ipa-getkeytab.c')
-rw-r--r--ipa-client/ipa-getkeytab.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/ipa-client/ipa-getkeytab.c b/ipa-client/ipa-getkeytab.c
index 5a521d041..28ef5b5a5 100644
--- a/ipa-client/ipa-getkeytab.c
+++ b/ipa-client/ipa-getkeytab.c
@@ -82,14 +82,24 @@ static int ldap_sasl_interact(LDAP *ld, unsigned flags, void *priv_data, void *s
krberr = krb5_init_context(&krbctx);
if (krberr) {
- fprintf(stderr, _("Kerberos context initialization failed\n"));
+ fprintf(stderr, _("Kerberos context initialization failed: %s (%d)\n"),
+ error_message(krberr), krberr);
in->result = NULL;
in->len = 0;
ret = LDAP_LOCAL_ERROR;
break;
}
- krb5_unparse_name(krbctx, princ, &outname);
+ krberr = krb5_unparse_name(krbctx, princ, &outname);
+
+ if (krberr) {
+ fprintf(stderr, _("Unable to parse principal: %s (%d)\n"),
+ error_message(krberr), krberr);
+ in->result = NULL;
+ in->len = 0;
+ ret = LDAP_LOCAL_ERROR;
+ break;
+ }
in->result = outname;
in->len = strlen(outname);