]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fuzz: decompress_startswith() may return zero
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 22 Feb 2025 19:59:46 +0000 (04:59 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 22 Feb 2025 20:04:49 +0000 (05:04 +0900)
Fixes #36472.

src/fuzz/fuzz-compress.c
test/fuzz/.gitattributes
test/fuzz/fuzz-compress/issue-36472 [new file with mode: 0644]

index 6fcad736b1838fc6fb60eb13ac2b3e471db8de06..adb0a969a85c0f6473f2a8395570e0d7b3ff3666 100644 (file)
@@ -5,6 +5,7 @@
 #include "alloc-util.h"
 #include "compress.h"
 #include "fuzz.h"
+#include "tests.h"
 
 typedef struct header {
         uint32_t alg:2; /* We have only three compression algorithms so far, but we might add more in the
@@ -59,8 +60,6 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
 
         size_t sw_len = MIN(data_len - 1, h->sw_len);
 
-        r = decompress_startswith(alg, buf, csize, &buf2, h->data, sw_len, h->data[sw_len]);
-        assert_se(r > 0);
-
+        ASSERT_OK(decompress_startswith(alg, buf, csize, &buf2, h->data, sw_len, h->data[sw_len]));
         return 0;
 }
index 02dea65580ceafb98bfb7c06e1677612c446f5bc..673c2e6fcc1cee1792795e7cfff6ac24f52f57ae 100644 (file)
@@ -1,5 +1,6 @@
 /*/*                -whitespace
 /fuzz-bus-match/*   binary
+/fuzz-compress/*    binary
 /fuzz-dhcp*/*       binary
 /fuzz-dns-packet/*  binary
 /fuzz-fido-id-desc/ binary
diff --git a/test/fuzz/fuzz-compress/issue-36472 b/test/fuzz/fuzz-compress/issue-36472
new file mode 100644 (file)
index 0000000..fca37d4
--- /dev/null
@@ -0,0 +1 @@
+Þ0000000000Þ000000000000000000000