diff options
Diffstat (limited to 'src/fuzz')
34 files changed, 68 insertions, 33 deletions
diff --git a/src/fuzz/fuzz-bus-label.c b/src/fuzz/fuzz-bus-label.c index 46a3d23dc4..93bac9adf4 100644 --- a/src/fuzz/fuzz-bus-label.c +++ b/src/fuzz/fuzz-bus-label.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <errno.h> diff --git a/src/fuzz/fuzz-bus-message.c b/src/fuzz/fuzz-bus-message.c index 3d1ac7e68a..af3dbf4d57 100644 --- a/src/fuzz/fuzz-bus-message.c +++ b/src/fuzz/fuzz-bus-message.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "bus-dump.h" diff --git a/src/fuzz/fuzz-calendarspec.c b/src/fuzz/fuzz-calendarspec.c index 8f031503e9..80801723fd 100644 --- a/src/fuzz/fuzz-calendarspec.c +++ b/src/fuzz/fuzz-calendarspec.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "calendarspec.h" diff --git a/src/fuzz/fuzz-catalog.c b/src/fuzz/fuzz-catalog.c index ecf25b18d7..f013455730 100644 --- a/src/fuzz/fuzz-catalog.c +++ b/src/fuzz/fuzz-catalog.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "catalog.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz-compress.c b/src/fuzz/fuzz-compress.c index 9c5dfc92c0..f94fd0673e 100644 --- a/src/fuzz/fuzz-compress.c +++ b/src/fuzz/fuzz-compress.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <errno.h> diff --git a/src/fuzz/fuzz-dhcp-server.c b/src/fuzz/fuzz-dhcp-server.c index 71bb99a381..c854d921c0 100644 --- a/src/fuzz/fuzz-dhcp-server.c +++ b/src/fuzz/fuzz-dhcp-server.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <fcntl.h> #include <sys/stat.h> diff --git a/src/fuzz/fuzz-dhcp6-client.c b/src/fuzz/fuzz-dhcp6-client.c index 6d887eaf1f..e5e70dd606 100644 --- a/src/fuzz/fuzz-dhcp6-client.c +++ b/src/fuzz/fuzz-dhcp6-client.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <unistd.h> diff --git a/src/fuzz/fuzz-dns-packet.c b/src/fuzz/fuzz-dns-packet.c index 9bf95b9c76..b9a0aa1216 100644 --- a/src/fuzz/fuzz-dns-packet.c +++ b/src/fuzz/fuzz-dns-packet.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" #include "memory-util.h" diff --git a/src/fuzz/fuzz-env-file.c b/src/fuzz/fuzz-env-file.c index d945dfc02c..e0dac260b0 100644 --- a/src/fuzz/fuzz-env-file.c +++ b/src/fuzz/fuzz-env-file.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <stdio.h> diff --git a/src/fuzz/fuzz-hostname-util.c b/src/fuzz/fuzz-hostname-util.c index 2130a4a811..0a81e74424 100644 --- a/src/fuzz/fuzz-hostname-util.c +++ b/src/fuzz/fuzz-hostname-util.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz-journal-remote.c b/src/fuzz/fuzz-journal-remote.c index 3ab4eb07fa..9adbd43748 100644 --- a/src/fuzz/fuzz-journal-remote.c +++ b/src/fuzz/fuzz-journal-remote.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" diff --git a/src/fuzz/fuzz-journald-audit.c b/src/fuzz/fuzz-journald-audit.c index 3f3ce7e8ee..6e8e18048e 100644 --- a/src/fuzz/fuzz-journald-audit.c +++ b/src/fuzz/fuzz-journald-audit.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" #include "fuzz-journald.h" diff --git a/src/fuzz/fuzz-journald-kmsg.c b/src/fuzz/fuzz-journald-kmsg.c index f7426c8400..1b423d5cba 100644 --- a/src/fuzz/fuzz-journald-kmsg.c +++ b/src/fuzz/fuzz-journald-kmsg.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" #include "fuzz-journald.h" diff --git a/src/fuzz/fuzz-journald-native-fd.c b/src/fuzz/fuzz-journald-native-fd.c index 8e3e850fbb..fcfc5dfaba 100644 --- a/src/fuzz/fuzz-journald-native-fd.c +++ b/src/fuzz/fuzz-journald-native-fd.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fd-util.h" #include "fs-util.h" diff --git a/src/fuzz/fuzz-journald-native.c b/src/fuzz/fuzz-journald-native.c index f4de5fd8eb..6531c4f668 100644 --- a/src/fuzz/fuzz-journald-native.c +++ b/src/fuzz/fuzz-journald-native.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" #include "fuzz-journald.h" diff --git a/src/fuzz/fuzz-journald-stream.c b/src/fuzz/fuzz-journald-stream.c index 0991b287c9..038b335cb3 100644 --- a/src/fuzz/fuzz-journald-stream.c +++ b/src/fuzz/fuzz-journald-stream.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <linux/sockios.h> #include <sys/ioctl.h> diff --git a/src/fuzz/fuzz-journald-syslog.c b/src/fuzz/fuzz-journald-syslog.c index 100f0ce691..72ec610fbf 100644 --- a/src/fuzz/fuzz-journald-syslog.c +++ b/src/fuzz/fuzz-journald-syslog.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "fuzz.h" #include "fuzz-journald.h" diff --git a/src/fuzz/fuzz-journald.c b/src/fuzz/fuzz-journald.c index 950e885cae..e2f73ffa7e 100644 --- a/src/fuzz/fuzz-journald.c +++ b/src/fuzz/fuzz-journald.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fuzz-journald.h" diff --git a/src/fuzz/fuzz-journald.h b/src/fuzz/fuzz-journald.h index 77e3b0c064..4abb1005ca 100644 --- a/src/fuzz/fuzz-journald.h +++ b/src/fuzz/fuzz-journald.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include "journald-server.h" diff --git a/src/fuzz/fuzz-json.c b/src/fuzz/fuzz-json.c index c01e2a570c..f9a0e818c4 100644 --- a/src/fuzz/fuzz-json.c +++ b/src/fuzz/fuzz-json.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fileio.h" diff --git a/src/fuzz/fuzz-lldp.c b/src/fuzz/fuzz-lldp.c index 7f252309cd..5747135b32 100644 --- a/src/fuzz/fuzz-lldp.c +++ b/src/fuzz/fuzz-lldp.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <errno.h> #include <unistd.h> diff --git a/src/fuzz/fuzz-main.c b/src/fuzz/fuzz-main.c index d5c9984989..2df2993cbf 100644 --- a/src/fuzz/fuzz-main.c +++ b/src/fuzz/fuzz-main.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "log.h" diff --git a/src/fuzz/fuzz-ndisc-rs.c b/src/fuzz/fuzz-ndisc-rs.c index d8d256d127..d74cd2fffc 100644 --- a/src/fuzz/fuzz-ndisc-rs.c +++ b/src/fuzz/fuzz-ndisc-rs.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <arpa/inet.h> #include <netinet/icmp6.h> diff --git a/src/fuzz/fuzz-nspawn-oci.c b/src/fuzz/fuzz-nspawn-oci.c index 004230eafe..cfebf65c00 100644 --- a/src/fuzz/fuzz-nspawn-oci.c +++ b/src/fuzz/fuzz-nspawn-oci.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz-nspawn-settings.c b/src/fuzz/fuzz-nspawn-settings.c index aa0a8225b4..bd98ed26e8 100644 --- a/src/fuzz/fuzz-nspawn-settings.c +++ b/src/fuzz/fuzz-nspawn-settings.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz-time-util.c b/src/fuzz/fuzz-time-util.c index 22b2496fcb..bf2a66336c 100644 --- a/src/fuzz/fuzz-time-util.c +++ b/src/fuzz/fuzz-time-util.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz-udev-database.c b/src/fuzz/fuzz-udev-database.c index 9d7c0fa3e1..2a48c14961 100644 --- a/src/fuzz/fuzz-udev-database.c +++ b/src/fuzz/fuzz-udev-database.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "device-internal.h" #include "device-private.h" diff --git a/src/fuzz/fuzz-udev-rule-parse-value.c b/src/fuzz/fuzz-udev-rule-parse-value.c new file mode 100644 index 0000000000..404d0cd142 --- /dev/null +++ b/src/fuzz/fuzz-udev-rule-parse-value.c @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include <string.h> + +#include "alloc-util.h" +#include "fuzz.h" +#include "udev-util.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + _cleanup_free_ char *str = NULL; + int r; + char *value = UINT_TO_PTR(0x12345678U); + char *endpos = UINT_TO_PTR(0x87654321U); + + assert_se(str = malloc(size + 1)); + memcpy(str, data, size); + str[size] = '\0'; + + r = udev_rule_parse_value(str, &value, &endpos); + + if (r < 0) { + /* not modified on failure */ + assert_se(value == UINT_TO_PTR(0x12345678U)); + assert_se(endpos == UINT_TO_PTR(0x87654321U)); + } else { + assert_se(endpos <= str + size); + assert_se(endpos > str + 1); + } + + return 0; +} diff --git a/src/fuzz/fuzz-udev-rules.c b/src/fuzz/fuzz-udev-rules.c index 7530d80bef..e1140bc68e 100644 --- a/src/fuzz/fuzz-udev-rules.c +++ b/src/fuzz/fuzz-udev-rules.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <stdio.h> diff --git a/src/fuzz/fuzz-unit-file.c b/src/fuzz/fuzz-unit-file.c index c0661433a3..e67f6e9199 100644 --- a/src/fuzz/fuzz-unit-file.c +++ b/src/fuzz/fuzz-unit-file.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "conf-parser.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz-varlink.c b/src/fuzz/fuzz-varlink.c index 31c13e2bea..f26050cf0e 100644 --- a/src/fuzz/fuzz-varlink.c +++ b/src/fuzz/fuzz-varlink.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include <unistd.h> diff --git a/src/fuzz/fuzz-xdg-desktop.c b/src/fuzz/fuzz-xdg-desktop.c index f8a1b5b28b..23077e48dc 100644 --- a/src/fuzz/fuzz-xdg-desktop.c +++ b/src/fuzz/fuzz-xdg-desktop.c @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "alloc-util.h" #include "fd-util.h" diff --git a/src/fuzz/fuzz.h b/src/fuzz/fuzz.h index 1e56526259..579b0eed73 100644 --- a/src/fuzz/fuzz.h +++ b/src/fuzz/fuzz.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include <stddef.h> diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index d984382020..f8f0c386b3 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: LGPL-2.1+ +# SPDX-License-Identifier: LGPL-2.1-or-later fuzzers += [ [['src/fuzz/fuzz-bus-message.c'], @@ -151,4 +151,8 @@ fuzzers += [ 'src/xdg-autostart-generator/xdg-autostart-service.c'], [], []], + + [['src/fuzz/fuzz-udev-rule-parse-value.c'], + [libshared], + []], ] |