diff options
author | Tom Yu <tlyu@mit.edu> | 2003-07-10 22:53:02 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2003-07-10 22:53:02 +0000 |
commit | d74bfe2037cf48849d4e6171796d45c95c601fb8 (patch) | |
tree | fb2e0241c5ddb3d527f3a7171d10947cc29c836a /src | |
parent | 66a8e474da860355344391c17324c46a0491b901 (diff) | |
download | krb5-d74bfe2037cf48849d4e6171796d45c95c601fb8.zip krb5-d74bfe2037cf48849d4e6171796d45c95c601fb8.tar.gz krb5-d74bfe2037cf48849d4e6171796d45c95c601fb8.tar.bz2 |
* acquire_cred.c (acquire_init_cred): Close the ccache if
krb5_cc_set_flags() fails, as krb5int_cc_default succeeds even if
the file is not there, but krb5_cc_set_flags will fail in turning
off OPENCLOSE mode if the file can't be opened. Thanks to Kent Wu.
ticket: 1656
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15680 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/gssapi/krb5/ChangeLog | 7 | ||||
-rw-r--r-- | src/lib/gssapi/krb5/acquire_cred.c | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/gssapi/krb5/ChangeLog b/src/lib/gssapi/krb5/ChangeLog index 9cccd9d..814d61c 100644 --- a/src/lib/gssapi/krb5/ChangeLog +++ b/src/lib/gssapi/krb5/ChangeLog @@ -1,3 +1,10 @@ +2003-07-10 Tom Yu <tlyu@mit.edu> + + * acquire_cred.c (acquire_init_cred): Close the ccache if + krb5_cc_set_flags() fails, as krb5int_cc_default succeeds even if + the file is not there, but krb5_cc_set_flags will fail in turning + off OPENCLOSE mode if the file can't be opened. Thanks to Kent Wu. + 2003-06-13 Tom Yu <tlyu@mit.edu> * init_sec_context.c (make_ap_req_v1): Free checksum_data if diff --git a/src/lib/gssapi/krb5/acquire_cred.c b/src/lib/gssapi/krb5/acquire_cred.c index 2c620b9..27cbab0 100644 --- a/src/lib/gssapi/krb5/acquire_cred.c +++ b/src/lib/gssapi/krb5/acquire_cred.c @@ -201,6 +201,7 @@ acquire_init_cred(context, minor_status, desired_name, output_princ, cred) flags = 0; /* turns off OPENCLOSE mode */ if ((code = krb5_cc_set_flags(context, ccache, flags))) { + (void)krb5_cc_close(context, ccache); *minor_status = code; return(GSS_S_CRED_UNAVAIL); } |