chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util: replace close_nointr_nofail() by a more useful safe_close()
[elogind.git]
/
src
/
journal
/
catalog.c
diff --git
a/src/journal/catalog.c
b/src/journal/catalog.c
index 2823232cbfdcbb3847a076057c0655e4dd7ff300..3ed0b7ee81d1827628d0ce8a4607b9c5876541eb 100644
(file)
--- a/
src/journal/catalog.c
+++ b/
src/journal/catalog.c
@@
-469,18
+469,18
@@
static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p
return -errno;
if (fstat(fd, &st) < 0) {
return -errno;
if (fstat(fd, &st) < 0) {
-
close_nointr_nofail
(fd);
+
safe_close
(fd);
return -errno;
}
if (st.st_size < (off_t) sizeof(CatalogHeader)) {
return -errno;
}
if (st.st_size < (off_t) sizeof(CatalogHeader)) {
-
close_nointr_nofail
(fd);
+
safe_close
(fd);
return -EINVAL;
}
p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0);
if (p == MAP_FAILED) {
return -EINVAL;
}
p = mmap(NULL, PAGE_ALIGN(st.st_size), PROT_READ, MAP_SHARED, fd, 0);
if (p == MAP_FAILED) {
-
close_nointr_nofail
(fd);
+
safe_close
(fd);
return -errno;
}
return -errno;
}
@@
-491,7
+491,7
@@
static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p
h->incompatible_flags != 0 ||
le64toh(h->n_items) <= 0 ||
st.st_size < (off_t) (le64toh(h->header_size) + le64toh(h->catalog_item_size) * le64toh(h->n_items))) {
h->incompatible_flags != 0 ||
le64toh(h->n_items) <= 0 ||
st.st_size < (off_t) (le64toh(h->header_size) + le64toh(h->catalog_item_size) * le64toh(h->n_items))) {
-
close_nointr_nofail
(fd);
+
safe_close
(fd);
munmap(p, st.st_size);
return -EBADMSG;
}
munmap(p, st.st_size);
return -EBADMSG;
}