From b3ce2858da12c5e89465b7ca98a18f90282a08ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sun, 22 Jul 2007 11:28:05 +0000 Subject: [PATCH] Make krb5_get_renewed_creds work, from Gunther Deschner. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21668 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/get_cred.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/krb5/get_cred.c b/lib/krb5/get_cred.c index b5e868053..b694720c9 100644 --- a/lib/krb5/get_cred.c +++ b/lib/krb5/get_cred.c @@ -1224,9 +1224,10 @@ krb5_get_renewed_creds(krb5_context context, { krb5_error_code ret; krb5_kdc_flags flags; - krb5_creds in, *template; + krb5_creds in, *template, *out = NULL; memset(&in, 0, sizeof(in)); + memset(creds, 0, sizeof(*creds)); ret = krb5_copy_principal(context, client, &in.client); if (ret) @@ -1263,9 +1264,14 @@ krb5_get_renewed_creds(krb5_context context, krb5_free_creds (context, template); } - ret = krb5_get_kdc_cred(context, ccache, flags, NULL, NULL, &in, &creds); + ret = krb5_get_kdc_cred(context, ccache, flags, NULL, NULL, &in, &out); krb5_free_principal(context, in.client); krb5_free_principal(context, in.server); + if (ret) + return ret; + + ret = krb5_copy_creds_contents(context, out, creds); + krb5_free_creds(context, out); return ret; }