summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2008-08-06 18:47:06 +0000
committerKen Raeburn <raeburn@mit.edu>2008-08-06 18:47:06 +0000
commite92b7d3126763769a5e82f724b7307bdc602b2a0 (patch)
tree84f6e73947037d09d48271e4bc483e88aaaa3a77 /src
parent459a6c1e9b12278d1b4f990cc4f23c3754ab06c8 (diff)
downloadkrb5-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.c6
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);
}