From: Zbigniew Jędrzejewski-Szmek Date: Sun, 25 Mar 2018 20:11:44 +0000 (+0200) Subject: fuzz-unit-file: adjust check for ListenNetlink yet again X-Git-Tag: v239~470^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=483ed8a6a00a00fbd7ef76e304ee265131207ce8;p=thirdparty%2Fsystemd.git fuzz-unit-file: adjust check for ListenNetlink yet again The test for ListenNetlink would abort the loop if a line longer then LINE_MAX was encountered (read_line() returns -ENOBUFS in that case). Let's use the the line length limit that the unit file parses uses. https://oss-fuzz.com/v2/issue/5546208027213824/7094. --- diff --git a/src/fuzz/fuzz-unit-file.c b/src/fuzz/fuzz-unit-file.c index 4865653f5bf..a5cd9b4aa9c 100644 --- a/src/fuzz/fuzz-unit-file.c +++ b/src/fuzz/fuzz-unit-file.c @@ -43,15 +43,17 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { _cleanup_free_ char *l = NULL; const char *ll; - if (read_line(f, LINE_MAX, &l) <= 0) + if (read_line(f, LONG_LINE_MAX, &l) <= 0) break; ll = l + strspn(l, WHITESPACE); - if (startswith(ll, "ListenNetlink=")) + if (startswith(ll, "ListenNetlink=")) { /* ListenNetlink causes a false positive in msan, * let's skip this for now. */ + log_notice("Skipping test because ListenNetlink= is present"); return 0; + } } assert_se(fseek(f, offset, SEEK_SET) == 0);