* - Allow building without libgcrypt
* - check with sparse
* - 64bit conversions
- * - verification should use MAP_PRIVATE
*
* */
if (r < 0)
return r;
+ i = 1;
while (i < n) {
uint64_t next, m, j;
data_fd = mkostemp(data_path, 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);
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);
if (entry_array_fd < 0) {
log_error("Failed to create entry array file: %m");
+ r = -errno;
goto fail;
}
unlink(entry_array_path);
goto fail;
}
+ if (JOURNAL_HEADER_CONTAINS(f->header, n_entry_arrays) &&
+ n_entry_arrays != le64toh(f->header->n_entry_arrays)) {
+ log_error("Entry array number mismatch");
+ r = -EBADMSG;
+ goto fail;
+ }
+
if (n_data_hash_tables != 1) {
log_error("Missing data hash table");
r = -EBADMSG;