diff options
author | Ken Raeburn <raeburn@mit.edu> | 2008-08-06 18:47:06 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2008-08-06 18:47:06 +0000 |
commit | e92b7d3126763769a5e82f724b7307bdc602b2a0 (patch) | |
tree | 84f6e73947037d09d48271e4bc483e88aaaa3a77 /src | |
parent | 459a6c1e9b12278d1b4f990cc4f23c3754ab06c8 (diff) | |
download | krb5-e92b7d3126763769a5e82f724b7307bdc602b2a0.tar.gz krb5-e92b7d3126763769a5e82f724b7307bdc602b2a0.tar.xz krb5-e92b7d3126763769a5e82f724b7307bdc602b2a0.zip |
Check fstat result. Close fd on error
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20624 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/kdb/kdb_log.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/kdb/kdb_log.c b/src/lib/kdb/kdb_log.c index be5853ccc..8d24857ab 100644 --- a/src/lib/kdb/kdb_log.c +++ b/src/lib/kdb/kdb_log.c @@ -590,7 +590,10 @@ ulog_map(krb5_context context, const char *logname, uint32_t ulogentries, } if (caller == FKPROPLOG) { - fstat(ulogfd, &st); + if (fstat(ulogfd, &st) < 0) { + close(ulogfd); + return errno; + } ulog_filesize = st.st_size; ulog = (kdb_hlog_t *)mmap(0, ulog_filesize, @@ -607,6 +610,7 @@ ulog_map(krb5_context context, const char *logname, uint32_t ulogentries, /* * Can't map update log file to memory */ + close(ulogfd); return (errno); } |