diff options
author | Theodore Tso <tytso@mit.edu> | 1995-12-21 23:39:16 +0000 |
---|---|---|
committer | Theodore Tso <tytso@mit.edu> | 1995-12-21 23:39:16 +0000 |
commit | 7250cccd2627ff56d8c20f487fae3d2c31fd605b (patch) | |
tree | 76235851bbee416af220db0b9f8ffb915e5f3822 /src | |
parent | de2dc728326ea2953cc6e8c9cb531f8443b12e55 (diff) | |
download | krb5-7250cccd2627ff56d8c20f487fae3d2c31fd605b.tar.gz krb5-7250cccd2627ff56d8c20f487fae3d2c31fd605b.tar.xz krb5-7250cccd2627ff56d8c20f487fae3d2c31fd605b.zip |
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.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7243 dc483132-0cff-0310-8789-dd5450dbe970
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; |