]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: fix crash in BPFProgram parsing
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 5 May 2021 14:04:29 +0000 (16:04 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 5 May 2021 15:15:04 +0000 (17:15 +0200)
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33270.

src/core/load-fragment.c
test/fuzz/fuzz-unit-file/oss-fuzz-33270 [new file with mode: 0644]

index 0fff986c7418a8beacb86b874707cf378c4dc47e..2399089492e6a6f12bc079137a7ead1f7e393b4d 100644 (file)
@@ -5600,7 +5600,7 @@ int config_parse_bpf_foreign_program(
         r = extract_first_word(&rvalue, &word, ":", 0);
         if (r == -ENOMEM)
                 return log_oom();
-        if (r <= 0) {
+        if (r <= 0 || isempty(rvalue)) {
                 log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to parse foreign BPF program, ignoring: %s", rvalue);
                 return 0;
         }
diff --git a/test/fuzz/fuzz-unit-file/oss-fuzz-33270 b/test/fuzz/fuzz-unit-file/oss-fuzz-33270
new file mode 100644 (file)
index 0000000..84f1da4
Binary files /dev/null and b/test/fuzz/fuzz-unit-file/oss-fuzz-33270 differ