_cleanup_fclose_ FILE *f = NULL;
_cleanup_fdset_free_ FDSet *fdset = NULL;
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone. */
- if (!getenv("SYSTEMD_LOG_LEVEL")) {
- log_set_max_level(LOG_CRIT);
- log_set_target(LOG_TARGET_NULL);
- }
+ fuzz_setup_logging();
assert_se(fdset = fdset_new());
assert_se(f = data_to_file(data, size));
if (outside_size_range(size, 0, 65536))
return 0;
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone. */
- if (!getenv("SYSTEMD_LOG_LEVEL")) {
- log_set_max_level(LOG_CRIT);
- log_set_target(LOG_TARGET_NULL);
- }
+ fuzz_setup_logging();
assert_se(manager_new(RUNTIME_SCOPE_SYSTEM, MANAGER_TEST_RUN_MINIMAL|MANAGER_TEST_DONT_OPEN_EXECUTOR, &m) >= 0);
/* Set log overrides as well to make it harder for a serialization file
assert_se(fseek(f, offset, SEEK_SET) == 0);
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(manager_new(RUNTIME_SCOPE_SYSTEM, MANAGER_TEST_RUN_MINIMAL|MANAGER_TEST_DONT_OPEN_EXECUTOR, &m) >= 0);
if (outside_size_range(size, 0, 65536))
return 0;
- /* Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(datadup = memdup_suffix0(data, size));
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
_cleanup_free_ char *unescaped = NULL, *escaped = NULL;
+ fuzz_setup_logging();
+
unescaped = bus_label_unescape_n((const char*)data, size);
assert_se(unescaped != NULL);
escaped = bus_label_escape(unescaped);
_cleanup_free_ char *str = NULL;
int r;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(str = memdup_suffix0(data, size));
_cleanup_close_ int fd = -EBADF;
_cleanup_ordered_hashmap_free_free_free_ OrderedHashmap *h = NULL;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(h = ordered_hashmap_new(&catalog_hash_ops));
int alg = h->alg;
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
log_info("Using compression %s, data size=%zu",
compression_to_string(alg),
f = data_to_file(data, size);
assert_se(f);
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
(void) load_env_file(f, NULL, &rl);
assert_se(fseek(f, 0, SEEK_SET) == 0);
f = data_to_file(data, size);
assert_se(f);
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
(void) read_etc_hostname_stream(f, &ret);
FILE *g = NULL;
int r;
- /* Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
f = data_to_file(data, size);
assert_se(f);
_cleanup_free_ char *str = NULL;
usec_t usec;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(str = memdup_suffix0(data, size));
_cleanup_(unlink_tempfilep) char filename[] = "/tmp/fuzz-udev-database.XXXXXX";
_cleanup_fclose_ FILE *f = NULL;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(fmkostemp_safe(filename, "r+", &f) == 0);
if (size != 0)
_cleanup_free_ char *str = NULL, *dump = NULL;
int r;
- log_set_max_level(LOG_CRIT);
- log_parse_environment();
- (void) log_open();
+ fuzz_setup_logging();
assert_se(str = memdup_suffix0(data, size));
_cleanup_(varlink_flush_close_unrefp) Varlink *c = NULL;
_cleanup_(sd_event_unrefp) sd_event *e = NULL;
- log_set_max_level(LOG_CRIT);
- log_parse_environment();
+ fuzz_setup_logging();
assert_se(null = fopen("/dev/null", "we"));
return false;
}
+static inline void fuzz_setup_logging(void) {
+ /* We don't want to fill the logs and slow down stuff when running
+ * in a fuzzing mode, so disable most of the logging. */
+ log_set_max_level(LOG_CRIT);
+ log_parse_environment();
+ log_open();
+}
+
/* Force value to not be optimized away. */
#define DO_NOT_OPTIMIZE(value) ({ asm volatile("" : : "g"(value) : "memory"); })
if (outside_size_range(size, 3, 65536))
return 0;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_ERR);
+ fuzz_setup_logging();
assert_se(mkdtemp_malloc("/tmp/fuzz-journal-remote-XXXXXX", &tmp) >= 0);
assert_se(name = path_join(tmp, "fuzz-journal-remote.XXXXXX.journal"));
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
Server s;
+ fuzz_setup_logging();
+
dummy_server_init(&s, data, size);
process_audit_string(&s, 0, s.buffer, size);
server_done(&s);
if (size == 0)
return 0;
- /* We don't want to fill the logs with assert warnings.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
dummy_server_init(&s, data, size);
dev_kmsg_record(&s, s.buffer, size);
struct ucred ucred;
struct timeval *tv = NULL;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
dummy_server_init(&s, NULL, 0);
#include "journald-native.h"
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ fuzz_setup_logging();
+
fuzz_journald_processing_function(data, size, server_process_native_message);
return 0;
}
if (outside_size_range(size, 1, 65536))
return 0;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0, stream_fds) >= 0);
dummy_server_init(&s, NULL, 0);
#include "journald-syslog.h"
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ fuzz_setup_logging();
+
fuzz_journald_processing_function(data, size, server_process_syslog_message);
return 0;
}
assert_se(setenv("SYSTEMD_NETWORK_TEST_MODE", "1", 1) >= 0);
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
r = sd_dhcp_client_new(&client, false);
assert_se(r >= 0);
if (size < sizeof(DHCPMessage))
return 0;
+ fuzz_setup_logging();
+
assert_se(sd_dhcp_server_new(&server, 1) >= 0);
assert_se(sd_dhcp_server_attach_event(server, NULL, 0) >= 0);
assert_se(sd_dhcp_server_configure_pool(server, &address, 24, 0, 0) >= 0);
if (size < sizeof(DHCPMessage))
return 0;
+ fuzz_setup_logging();
+
assert_se(duped = memdup(data, size));
assert_se(sd_dhcp_server_new(&server, 1) >= 0);
assert_se(setenv("SYSTEMD_NETWORK_TEST_MODE", "1", 1) >= 0);
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
if (outside_size_range(size, 0, 65536))
return 0;
if (outside_size_range(size, 0, 2048))
return 0;
+ fuzz_setup_logging();
+
assert_se(sd_event_new(&e) == 0);
assert_se(sd_lldp_rx_new(&lldp_rx) >= 0);
assert_se(sd_lldp_rx_set_ifindex(lldp_rx, 42) >= 0);
if (outside_size_range(size, 0, 2048))
return 0;
+ fuzz_setup_logging();
+
assert_se(sd_event_new(&e) >= 0);
assert_se(sd_ndisc_new(&nd) >= 0);
assert_se(sd_ndisc_attach_event(nd, e, 0) >= 0);
if (outside_size_range(size, 0, 65536))
return 0;
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
r = sd_bus_new(&bus);
assert_se(r >= 0);
FILE *g = NULL;
int r;
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
r = sd_bus_new(&bus);
assert_se(r >= 0);
if (outside_size_range(size, 0, 65536))
return 0;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(fmkostemp_safe(netdev_config, "r+", &f) == 0);
if (size != 0)
if (outside_size_range(size, 0, 65536))
return 0;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(fmkostemp_safe(network_config, "r+", &f) == 0);
if (size != 0)
f = data_to_file(data, size);
assert_se(f);
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
(void) oci_load(f, "/dev/null", &s);
f = data_to_file(data, size);
assert_se(f);
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
(void) settings_load(f, "/dev/null", &s);
if (outside_size_range(size, 0, DNS_PACKET_SIZE_MAX))
return 0;
+ fuzz_setup_logging();
+
assert_se(dns_packet_new(&p, DNS_PROTOCOL_DNS, 0, DNS_PACKET_SIZE_MAX) >= 0);
p->size = 0; /* by default append starts after the header, undo that */
assert_se(dns_packet_append_blob(p, data, size, NULL) >= 0);
_cleanup_fclose_ FILE *f = NULL;
_cleanup_(etc_hosts_clear) EtcHosts h = {};
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
f = data_to_file(data, size);
assert_se(f);
if (dns_resource_record_new_from_raw(&rr, data, size) < 0)
return 0;
+ fuzz_setup_logging();
+
assert_se(copy = dns_resource_record_copy(rr));
assert_se(dns_resource_record_equal(copy, rr) > 0);
if (size > 16*1024)
return 0; /* See the comment below about the limit for strv_length(). */
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
arg_pager_flags = PAGER_DISABLE; /* We shouldn't execute the pager */
#include "log.h"
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
if (outside_size_range(size, 0, HID_MAX_DESCRIPTOR_SIZE))
return 0;
if (outside_size_range(size, 0, 65536))
return 0;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(fmkostemp_safe(filename, "r+", &f) == 0);
if (size != 0)
if (outside_size_range(size, 0, 65536))
return 0;
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(fmkostemp_safe(filename, "r+", &f) == 0);
if (size != 0)
if (outside_size_range(size, 0, 65536))
return 0;
- /* We don't want to fill the logs with messages about parse errors.
- * Disable most logging if not running standalone */
- if (!getenv("SYSTEMD_LOG_LEVEL"))
- log_set_max_level(LOG_CRIT);
+ fuzz_setup_logging();
assert_se(mkdtemp_malloc("/tmp/fuzz-xdg-desktop-XXXXXX", &tmpdir) >= 0);