diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-04-25 21:42:15 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-04-26 12:00:02 +0200 |
commit | 50809d7a9c986f78d8b8872098e4880aa8ff2076 (patch) | |
tree | f53834a8dcd61e12048387b07afd67c3348bbb59 /src | |
parent | 1000522a60ceade446773c67031b47a566d4a70d (diff) |
sd-journal: detect earlier if we try to read an object from an invalid offset
Specifically, detect early if we try to read from offset 0, i.e. are using
uninitialized offset data.
Diffstat (limited to 'src')
-rw-r--r-- | src/journal/journal-file.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index ac6c30f9f2..c4318636f7 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -709,6 +709,10 @@ int journal_file_move_to_object(JournalFile *f, ObjectType type, uint64_t offset if (!VALID64(offset)) return -EFAULT; + /* Object may not be located in the file header */ + if (offset < le64toh(f->header->header_size)) + return -EBADMSG; + r = journal_file_move_to(f, type, false, offset, sizeof(ObjectHeader), &t); if (r < 0) return r; |