summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2004-11-19 22:12:32 +0000
committerTom Yu <tlyu@mit.edu>2004-11-19 22:12:32 +0000
commit01b2fda59e5748468834d36b78306d35bd75dcc9 (patch)
tree3237c5e73c671ac9874353e26c91b869103fb2b5 /src
parent4ff94b5da900be054cf2c49b7a97e3cdc7285ebe (diff)
downloadkrb5-01b2fda59e5748468834d36b78306d35bd75dcc9.tar.gz
krb5-01b2fda59e5748468834d36b78306d35bd75dcc9.tar.xz
krb5-01b2fda59e5748468834d36b78306d35bd75dcc9.zip
* kt_file.c (krb5_ktfileint_open): Patch from Roland Dowdeswell to
return ENFILE when fopen() returns NULL but doesn't set errno. ticket: 2760 target_version: 1.4 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16898 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-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));