From 26c0e3189d91b11bcfea1d554cc3e392626253f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 30 May 2007 14:32:26 +0000 Subject: [PATCH] catch failures from _krb5_principalname2krb5_principal git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20697 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index c79059bbd..8ff63f04e 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -938,11 +938,12 @@ _kdc_as_rep(krb5_context context, ret = KRB5KRB_ERR_GENERIC; e_text = "No server in request"; } else{ - _krb5_principalname2krb5_principal (context, - &server_princ, - *(b->sname), - b->realm); - ret = krb5_unparse_name(context, server_princ, &server_name); + ret = _krb5_principalname2krb5_principal (context, + &server_princ, + *(b->sname), + b->realm); + if (ret == 0) + ret = krb5_unparse_name(context, server_princ, &server_name); } if (ret) { kdc_log(context, config, 0, @@ -966,11 +967,14 @@ _kdc_as_rep(krb5_context context, &client_princ); if (ret) goto out; - } else - _krb5_principalname2krb5_principal (context, - &client_princ, - *(b->cname), - b->realm); + } else { + ret = _krb5_principalname2krb5_principal (context, + &client_princ, + *(b->cname), + b->realm); + if (ret) + goto out; + } ret = krb5_unparse_name(context, client_princ, &client_name); } if (ret) {