sd-journal: data object may be invalid after data_object_in_hash_table()

Fixes a bug introduced by 578cd1855b.

The function `data_object_in_hash_table()` calls
`journal_file_move_to_object()` with `OBJECT_DATA`. Hence,
previously obtained pointer to a data object may be now invalid.

Fixes #23794.
This commit is contained in:
Yu Watanabe
2022-06-29 04:52:54 +09:00
parent a30630f5dc
commit b8478c14c7

View File

@@ -670,6 +670,11 @@ static int verify_entry(
return -EBADMSG;
}
/* Pointer might have moved, reposition */
r = journal_file_move_to_object(f, OBJECT_DATA, q, &u);
if (r < 0)
return r;
r = journal_file_move_to_entry_by_offset_for_data(f, u, p, DIRECTION_DOWN, NULL, NULL);
if (r < 0)
return r;