chiark / gitweb /
journal: count number of entry arrays in header
[elogind.git] / src / journal / journal-verify.c
index 55ca52a64138c15f4b5c73c70db11f5a4b49d9ad..b4e34d18a8f28299cb65e5661f33206cb44c31c2 100644 (file)
@@ -837,6 +837,13 @@ int journal_file_verify(JournalFile *f, const char *key) {
                 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;