diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-12-21 16:33:20 +0900 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2021-02-02 17:32:01 +0100 |
commit | 85b64a7218d76417dc58c69f8ae65da35ca892a6 (patch) | |
tree | 0ad981819aadbe1031919b7f1a4a6516564c9236 | |
parent | 00071dd6b9ad3e3ece1d8420f6dbca0f6d1108b8 (diff) | |
download | systemd-85b64a7218d76417dc58c69f8ae65da35ca892a6.tar.gz |
journal-importer: ignore invalid field at one more place
Fixes oss-fuzz#28817.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28817
(cherry picked from commit 8786d4bbe43b5f6493982bcb5211e010f99deb57)
(cherry picked from commit cefb123e8ab65772a2a609081ca34ac6ea1267d6)
-rw-r--r-- | src/shared/journal-importer.c | 10 | ||||
-rw-r--r-- | test/fuzz/fuzz-journal-remote/oss-fuzz-28817 | bin | 0 -> 256 bytes |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c index 7c4fc7021d..e6b2df21e5 100644 --- a/src/shared/journal-importer.c +++ b/src/shared/journal-importer.c @@ -334,6 +334,16 @@ int journal_importer_process_data(JournalImporter *imp) { if (r < 0) return r; } else { + if (!journal_field_valid(line, n - 1, true)) { + char buf[64], *t; + + t = strndupa(line, n - 1); + log_debug("Ignoring invalid field: \"%s\"", + cellescape(buf, sizeof buf, t)); + + return 0; + } + /* replace \n with = */ line[n-1] = '='; diff --git a/test/fuzz/fuzz-journal-remote/oss-fuzz-28817 b/test/fuzz/fuzz-journal-remote/oss-fuzz-28817 Binary files differnew file mode 100644 index 0000000000..5b12055956 --- /dev/null +++ b/test/fuzz/fuzz-journal-remote/oss-fuzz-28817 |