From 27f931d1cda5e01f3a748af55146f41fb0da8fe7 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 12 Nov 2018 17:56:20 +0900 Subject: [PATCH 1/3] coredump: update comments --- src/basic/journal-importer.h | 2 +- src/coredump/coredump.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/basic/journal-importer.h b/src/basic/journal-importer.h index f49ce734a1..3c98d905da 100644 --- a/src/basic/journal-importer.h +++ b/src/basic/journal-importer.h @@ -11,7 +11,7 @@ #include "time-util.h" /* Make sure not to make this smaller than the maximum coredump size. - * See COREDUMP_MAX in coredump.c */ + * See JOURNAL_SIZE_MAX in coredump.c */ #define ENTRY_SIZE_MAX (1024*1024*770u) #define DATA_SIZE_MAX (1024*1024*768u) #define LINE_CHUNK 8*1024u diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index e54c69a931..440d13d157 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -58,7 +58,7 @@ #define JOURNAL_SIZE_MAX ((size_t) (767LU*1024LU*1024LU)) /* Make sure to not make this larger than the maximum journal entry - * size. See DATA_SIZE_MAX in journald-native.c. */ + * size. See DATA_SIZE_MAX in journal-importer.h. */ assert_cc(JOURNAL_SIZE_MAX <= DATA_SIZE_MAX); enum { From 25cad95c82f4c45d6d7c872c39bbd72bc4946edb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 12 Nov 2018 18:08:45 +0900 Subject: [PATCH 2/3] fuzz: decrease DATA_SIZE_MAX Fixes oss-fuzz#8658. --- src/basic/journal-importer.h | 5 +++++ src/coredump/coredump.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/basic/journal-importer.h b/src/basic/journal-importer.h index 3c98d905da..53354b7c78 100644 --- a/src/basic/journal-importer.h +++ b/src/basic/journal-importer.h @@ -12,8 +12,13 @@ /* Make sure not to make this smaller than the maximum coredump size. * See JOURNAL_SIZE_MAX in coredump.c */ +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #define ENTRY_SIZE_MAX (1024*1024*770u) #define DATA_SIZE_MAX (1024*1024*768u) +#else +#define ENTRY_SIZE_MAX (1024*1024*13u) +#define DATA_SIZE_MAX (1024*1024*11u) +#endif #define LINE_CHUNK 8*1024u struct iovec_wrapper { diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index 440d13d157..0ca8b3f00e 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -55,7 +55,12 @@ #define EXTERNAL_SIZE_MAX PROCESS_SIZE_MAX /* The maximum size up to which we store the coredump in the journal */ +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION #define JOURNAL_SIZE_MAX ((size_t) (767LU*1024LU*1024LU)) +#else +/* oss-fuzz limits memory usage. */ +#define JOURNAL_SIZE_MAX ((size_t) (10LU*1024LU*1024LU)) +#endif /* Make sure to not make this larger than the maximum journal entry * size. See DATA_SIZE_MAX in journal-importer.h. */ From 9544a1ceb00cee1e8dd7044205c28e5155166190 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 12 Nov 2018 18:10:24 +0900 Subject: [PATCH 3/3] fuzz: add testcase of oss-fuzz#8658 --- test/fuzz/fuzz-journal-remote/oss-fuzz-8658 | Bin 0 -> 10 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/fuzz/fuzz-journal-remote/oss-fuzz-8658 diff --git a/test/fuzz/fuzz-journal-remote/oss-fuzz-8658 b/test/fuzz/fuzz-journal-remote/oss-fuzz-8658 new file mode 100644 index 0000000000000000000000000000000000000000..c78d65c569f648165f5c7f2cc9677dc23672f66d GIT binary patch literal 10 OcmY%3QUC%5AOHXa