]> 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)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 4 Mar 2025 14:45:13 +0000 (15:45 +0100)
Fixes #36472.

(cherry picked from commit 339f2f2eeb883b201f59076900e3bee7ff143460)

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

index c3f68f62dd27b27e34263fe00ab1201961ebe7fa..9aa90ae2a1bf68dddee18bffa926e8bf1448cec3 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