summaryrefslogtreecommitdiff
path: root/src/journal/journal-verify.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-01-25 20:48:01 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-01-27 23:17:02 -0500
commit8e33886ec582336564ae11b80023abe93d7599c0 (patch)
tree9d2c70e1a3ba876e78a16e0497a9908ace4f7781 /src/journal/journal-verify.c
parent847657c7690598f1c77d0ba9e86ef58916bc58a7 (diff)
Replace mkostemp+unlink with open(O_TMPFILE)
This will only work on Linux >= 3.11, and probably not on all filesystems. Fallback code is provided.
Diffstat (limited to 'src/journal/journal-verify.c')
-rw-r--r--src/journal/journal-verify.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/journal/journal-verify.c b/src/journal/journal-verify.c
index f2422ff841..9434cc925c 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)