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:
parent
77c26cd62a
commit
3b1b0f1aeb
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user