X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-verify.c;h=31bae5a8f8f01fca57e5b34e0c2b6466f86dfafc;hb=5ea846cc5197682d07ee46398996a8c3ccfbcc38;hp=f2422ff841c0142aa92e2302e9b959dbf27cb728;hpb=ae97089d49d1795a35a443b7b830ee666028e733;p=elogind.git diff --git a/src/journal/journal-verify.c b/src/journal/journal-verify.c index f2422ff84..31bae5a8f 100644 --- a/src/journal/journal-verify.c +++ b/src/journal/journal-verify.c @@ -785,9 +785,6 @@ int journal_file_verify( uint64_t n_weird = 0, n_objects = 0, n_entries = 0, n_data = 0, n_fields = 0, n_data_hash_tables = 0, n_field_hash_tables = 0, n_entry_arrays = 0, n_tags = 0; usec_t last_usec = 0; int data_fd = -1, entry_fd = -1, entry_array_fd = -1; - char data_path[] = "/var/tmp/journal-data-XXXXXX", - entry_path[] = "/var/tmp/journal-entry-XXXXXX", - entry_array_path[] = "/var/tmp/journal-entry-array-XXXXXX"; unsigned i; bool found_last; #ifdef HAVE_GCRYPT @@ -808,29 +805,26 @@ int journal_file_verify( } else if (f->seal) return -ENOKEY; - data_fd = mkostemp(data_path, O_CLOEXEC); + data_fd = open_tmpfile("/var/tmp", O_RDWR | O_CLOEXEC); if (data_fd < 0) { log_error("Failed to create data file: %m"); r = -errno; goto fail; } - unlink(data_path); - entry_fd = mkostemp(entry_path, O_CLOEXEC); + entry_fd = open_tmpfile("/var/tmp", O_RDWR | O_CLOEXEC); if (entry_fd < 0) { log_error("Failed to create entry file: %m"); r = -errno; goto fail; } - unlink(entry_path); - entry_array_fd = mkostemp(entry_array_path, O_CLOEXEC); + entry_array_fd = open_tmpfile("/var/tmp", O_RDWR | O_CLOEXEC); if (entry_array_fd < 0) { log_error("Failed to create entry array file: %m"); r = -errno; goto fail; } - unlink(entry_array_path); #ifdef HAVE_GCRYPT if ((le32toh(f->header->compatible_flags) & ~HEADER_COMPATIBLE_SEALED) != 0) @@ -1228,9 +1222,9 @@ int journal_file_verify( mmap_cache_close_fd(f->mmap, entry_fd); mmap_cache_close_fd(f->mmap, entry_array_fd); - close_nointr_nofail(data_fd); - close_nointr_nofail(entry_fd); - close_nointr_nofail(entry_array_fd); + safe_close(data_fd); + safe_close(entry_fd); + safe_close(entry_array_fd); if (first_contained) *first_contained = le64toh(f->header->head_entry_realtime); @@ -1253,17 +1247,17 @@ fail: if (data_fd >= 0) { mmap_cache_close_fd(f->mmap, data_fd); - close_nointr_nofail(data_fd); + safe_close(data_fd); } if (entry_fd >= 0) { mmap_cache_close_fd(f->mmap, entry_fd); - close_nointr_nofail(entry_fd); + safe_close(entry_fd); } if (entry_array_fd >= 0) { mmap_cache_close_fd(f->mmap, entry_array_fd); - close_nointr_nofail(entry_array_fd); + safe_close(entry_array_fd); } return r;