summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/ccache/file/ChangeLog7
-rw-r--r--src/lib/krb5/ccache/file/fcc_maybe.c3
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;