diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/keytab/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/krb5/keytab/kt_file.c | 4 |
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)); |
