From c627395366bd3911ae4082e371fd73f64be8eed7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 24 May 2018 13:11:12 +0200 Subject: [PATCH] journal: refuse an entry with invalid timestamp fields The journal verification functions would reject such an entry. It would probably still display fine (because we prefer _SOURCE_REALTIME_TIMESTAMP= if present), but it seems wrong to create an entry that would not pass verification. --- src/journal/journal-file.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index da663f0..8fe4499 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -1958,7 +1958,16 @@ int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const st assert(f->header); assert(iovec || n_iovec == 0); - if (!ts) { + if (ts) { + if (!VALID_REALTIME(ts->realtime)) { + log_debug("Invalid realtime timestamp %"PRIu64", refusing entry.", ts->realtime); + return -EBADMSG; + } + if (!VALID_MONOTONIC(ts->monotonic)) { + log_debug("Invalid monotomic timestamp %"PRIu64", refusing entry.", ts->monotonic); + return -EBADMSG; + } + } else { dual_timestamp_get(&_ts); ts = &_ts; } -- 2.7.4