X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-file.c;h=986e94de392ac12011c27e16352e79638a79a2b1;hb=c2d6bd61ee77b59566116afe6e20513d19945ed4;hp=d3535d2fadcb2edad6756bc8915c93f76e09473b;hpb=92261977d81fd6a5bfb1418eddd86582d8a57fcd;p=elogind.git diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index d3535d2fa..986e94de3 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -279,12 +279,6 @@ static int journal_file_verify_header(JournalFile *f) { !VALID64(le64toh(f->header->entry_array_offset))) return -ENODATA; - if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) || - le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) || - le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) || - le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size)) - return -ENODATA; - if (f->writable) { uint8_t state; sd_id128_t machine_id; @@ -819,7 +813,9 @@ int journal_file_find_data_object_with_hash( goto next; if (o->object.flags & OBJECT_COMPRESSION_MASK) { - uint64_t l, rsize; +#if defined(HAVE_XZ) || defined(HAVE_LZ4) + uint64_t l; + size_t rsize; l = le64toh(o->object.size); if (l <= offsetof(Object, data.payload)) @@ -843,7 +839,9 @@ int journal_file_find_data_object_with_hash( return 1; } - +#else + return -EPROTONOSUPPORT; +#endif } else if (le64toh(o->object.size) == osize && memcmp(o->data.payload, data, size) == 0) { @@ -982,7 +980,7 @@ static int journal_file_append_data( #if defined(HAVE_XZ) || defined(HAVE_LZ4) if (f->compress_xz && size >= COMPRESSION_SIZE_THRESHOLD) { - uint64_t rsize; + size_t rsize; compression = compress_blob(data, size, o->data.payload, &rsize); @@ -990,7 +988,7 @@ static int journal_file_append_data( o->object.size = htole64(offsetof(Object, data.payload) + rsize); o->object.flags |= compression; - log_debug("Compressed data object %"PRIu64" -> %"PRIu64" using %s", + log_debug("Compressed data object %"PRIu64" -> %zu using %s", size, rsize, object_compressed_to_string(compression)); } } @@ -2772,7 +2770,8 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6 return -E2BIG; if (o->object.flags & OBJECT_COMPRESSION_MASK) { - uint64_t rsize; +#if defined(HAVE_XZ) || defined(HAVE_LZ4) + size_t rsize; r = decompress_blob(o->object.flags & OBJECT_COMPRESSION_MASK, o->data.payload, l, &from->compress_buffer, &from->compress_buffer_size, &rsize, 0); @@ -2781,6 +2780,9 @@ int journal_file_copy_entry(JournalFile *from, JournalFile *to, Object *o, uint6 data = from->compress_buffer; l = rsize; +#else + return -EPROTONOSUPPORT; +#endif } else data = o->data.payload;