diff options
| author | Theodore Tso <tytso@mit.edu> | 1994-06-02 16:39:11 +0000 |
|---|---|---|
| committer | Theodore Tso <tytso@mit.edu> | 1994-06-02 16:39:11 +0000 |
| commit | 0e909c8a1f829c4fc6d1f8238758165348607b47 (patch) | |
| tree | 1f25d2670788c9f937223183df7ba68f9b8eaac1 /src | |
| parent | 0898f4ad12793bd0e982185622828d13d872c85c (diff) | |
| download | krb5-0e909c8a1f829c4fc6d1f8238758165348607b47.tar.gz krb5-0e909c8a1f829c4fc6d1f8238758165348607b47.tar.xz krb5-0e909c8a1f829c4fc6d1f8238758165348607b47.zip | |
Make sure the old contents of the creds structure are freed out before
they are replaced.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3668 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/krb5/krb/get_creds.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/krb5/krb/get_creds.c b/src/lib/krb5/krb/get_creds.c index 5126b06ce..33c05386c 100644 --- a/src/lib/krb5/krb/get_creds.c +++ b/src/lib/krb5/krb/get_creds.c @@ -56,7 +56,7 @@ krb5_creds *creds; { krb5_error_code retval, rv2; krb5_creds **tgts; - krb5_creds mcreds; + krb5_creds mcreds, ncreds; krb5_flags fields; if (!creds || !creds->server || !creds->client) @@ -82,7 +82,11 @@ krb5_creds *creds; return KRB5_NO_2ND_TKT; } - retval = krb5_cc_retrieve_cred(ccache, fields, &mcreds, creds); + retval = krb5_cc_retrieve_cred(ccache, fields, &mcreds, &ncreds); + if (retval == 0) { + krb5_free_cred_contents(creds); + *creds = ncreds; + } if (retval != KRB5_CC_NOTFOUND || options & KRB5_GC_CACHED) return retval; |
