return -ENODATA;
if (header_size + arena_size < tail_object_offset)
return -ENODATA;
- if (header_size + arena_size - tail_object_offset < sizeof(ObjectHeader))
+ if (header_size + arena_size - tail_object_offset < offsetof(ObjectHeader, payload))
return -ENODATA;
if (!hash_table_is_valid(le64toh(f->header->data_hash_table_offset),
/* Verify number of objects */
uint64_t n_objects = le64toh(f->header->n_objects);
- if (n_objects > arena_size / sizeof(ObjectHeader))
+ if (n_objects > arena_size / offsetof(ObjectHeader, payload))
return -ENODATA;
uint64_t n_entries = le64toh(f->header->n_entries);
return journal_file_data_payload_offset(f);
if (o->object.type >= ELEMENTSOF(table) || table[o->object.type] <= 0)
- return sizeof(ObjectHeader);
+ return offsetof(ObjectHeader, payload);
return table[o->object.type];
}
"Attempt to move to uninitialized object: %" PRIu64,
offset);
- if (s < sizeof(ObjectHeader))
+ if (s < offsetof(ObjectHeader, payload))
return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG),
"Attempt to move to overly short object with size %"PRIu64": %" PRIu64,
s, offset);
journal_object_type_to_string(type),
offset);
- r = journal_file_move_to(f, type, false, offset, sizeof(ObjectHeader), (void**) &o);
+ r = journal_file_move_to(f, type, false, offset, offsetof(ObjectHeader, payload), (void**) &o);
if (r < 0)
return r;
assert(f);
assert(f->header);
assert(type > OBJECT_UNUSED && type < _OBJECT_TYPE_MAX);
- assert(size >= sizeof(ObjectHeader));
+ assert(size >= offsetof(ObjectHeader, payload));
r = journal_file_set_online(f);
if (r < 0)