]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/network/fuzz-network-parser.c
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
6 #include "networkd-manager.h"
7 #include "tmpfile-util.h"
9 int LLVMFuzzerTestOneInput(const uint8_t *data
, size_t size
) {
10 _cleanup_(manager_freep
) Manager
*manager
= NULL
;
11 _cleanup_fclose_
FILE *f
= NULL
;
12 _cleanup_(unlink_tempfilep
) char network_config
[] = "/tmp/fuzz-networkd.XXXXXX";
14 if (outside_size_range(size
, 0, 65536))
19 assert_se(fmkostemp_safe(network_config
, "r+", &f
) == 0);
21 assert_se(fwrite(data
, size
, 1, f
) == 1);
24 assert_se(manager_new(&manager
, /* test_mode = */ true) >= 0);
25 (void) network_load_one(manager
, &manager
->networks
, network_config
);