diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/krb5/ccache/file/ChangeLog | 7 | ||||
-rw-r--r-- | src/lib/krb5/ccache/file/fcc_maybe.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/file/ChangeLog b/src/lib/krb5/ccache/file/ChangeLog index f8b2527918..3a2cba8334 100644 --- a/src/lib/krb5/ccache/file/ChangeLog +++ b/src/lib/krb5/ccache/file/ChangeLog @@ -1,3 +1,10 @@ +Thu Dec 21 18:28:09 1995 Theodore Y. Ts'o <tytso@dcl> + + * fcc_maybe.c (krb5_fcc_open_file): In the case of + FCC_OPEN_AND_ERASE, unlink the old filename, and then add + the O_EXCL open flag, to prevent O_CREAT from following a + symbolic link. + Fri Oct 6 22:03:16 1995 Theodore Y. Ts'o <tytso@dcl> * Makefile.in: Remove ##DOS!include of config/windows.in. diff --git a/src/lib/krb5/ccache/file/fcc_maybe.c b/src/lib/krb5/ccache/file/fcc_maybe.c index 30657b29d6..622302a125 100644 --- a/src/lib/krb5/ccache/file/fcc_maybe.c +++ b/src/lib/krb5/ccache/file/fcc_maybe.c @@ -229,7 +229,8 @@ krb5_fcc_open_file (context, id, mode) data->mode = mode; switch(mode) { case FCC_OPEN_AND_ERASE: - open_flag = O_CREAT|O_TRUNC|O_RDWR; + unlink(data->filename); + open_flag = O_CREAT|O_EXCL|O_TRUNC|O_RDWR; break; case FCC_OPEN_RDWR: open_flag = O_RDWR; |