summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/keytab/ChangeLog5
-rw-r--r--src/lib/krb5/keytab/kt_file.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/krb5/keytab/ChangeLog b/src/lib/krb5/keytab/ChangeLog
index 75363971b..4b62fddb7 100644
--- a/src/lib/krb5/keytab/ChangeLog
+++ b/src/lib/krb5/keytab/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-19 Tom Yu <tlyu@mit.edu>
+
+ * kt_file.c (krb5_ktfileint_open): Patch from Roland Dowdeswell to
+ return ENFILE when fopen() returns NULL but doesn't set errno.
+
2004-06-22 Ken Raeburn <raeburn@mit.edu>
* kt_file.c (krb5_ktf_keytab_externalize,
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c
index c6f94f2e7..d39fc0b3d 100644
--- a/src/lib/krb5/keytab/kt_file.c
+++ b/src/lib/krb5/keytab/kt_file.c
@@ -1008,10 +1008,10 @@ krb5_ktfileint_open(krb5_context context, krb5_keytab id, int mode)
krb5_create_secure_file(context, KTFILENAME(id));
KTFILEP(id) = fopen(KTFILENAME(id), fopen_mode_rbplus);
if (!KTFILEP(id))
- return errno;
+ return errno ? errno : ENFILE;
writevno = 1;
} else /* some other error */
- return errno;
+ return errno ? errno : ENFILE;
}
if ((kerror = krb5_lock_file(context, fileno(KTFILEP(id)), mode))) {
(void) fclose(KTFILEP(id));