1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-28 02:50:16 +03:00

sd-journal: fix segfault

Unfortunately, journal_file_next_entry() returns 0 when the next entry
not found. The commit cc938e4a0ab67707e489cc3970a8557ad89801ca adds
FIXME comment about that. We should really fix that, but the function and
its return value are used in many place, hence checking all usecases is not
easy. So, let's workaround that here, and handle the 0 return value by
the caller.

Follow-up for 34af74946e8853411f18120007ebaca6549b2a52.

Fixes #26822.
This commit is contained in:
Yu Watanabe 2023-03-15 15:12:41 +09:00 committed by Luca Boccassi
parent 77c26cd62a
commit 3b1b0f1aeb

View File

@ -2436,6 +2436,8 @@ static int journal_file_read_tail_timestamp(sd_journal *j, JournalFile *f) {
r = journal_file_next_entry(f, 0, DIRECTION_UP, &o, NULL);
if (r < 0)
return r;
if (r == 0)
return -ENODATA;
id = o->entry.boot_id;
mo = le64toh(o->entry.monotonic);