From 4ff8fb899ba94e7b197f8c55a7797adb648791b4 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Sat, 28 Mar 2026 20:59:35 +0000 Subject: [PATCH] journal: add assert for max_size overflow safety Coverity flags max_size*2 as a potential overflow. The value is bounded by MAX_SIZE_UPPER (128 MiB) or JOURNAL_COMPACT_SIZE_MAX (4 GiB), so doubling is safe within uint64_t. Add an assert to document this. CID#1548019 Follow-up for 8580d1f73db36e9383e674e388b4fb55828c0c66 --- src/libsystemd/sd-journal/journal-file.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index de5d7075e0..b4efcc050e 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -4058,6 +4058,8 @@ static void journal_default_metrics(JournalMetrics *m, int fd, bool compact) { if (m->max_size < JOURNAL_FILE_SIZE_MIN) m->max_size = JOURNAL_FILE_SIZE_MIN; + /* Silence static analyzers */ + assert(m->max_size <= UINT64_MAX / 2); if (m->max_use != 0 && m->max_size*2 > m->max_use) m->max_use = m->max_size*2; }