]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Make fuzzer code use default netlink socket
authorStephen Worley <sworley@cumulusnetworks.com>
Thu, 26 Jul 2018 18:30:04 +0000 (14:30 -0400)
committerStephen Worley <sworley@cumulusnetworks.com>
Thu, 26 Jul 2018 18:32:50 +0000 (14:32 -0400)
Change the fuzzing code so that it fakes data from
the listening socket rather than using its own pseudo one.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
zebra/kernel_netlink.c

index 4d1991f09fac0b2c13ddbb006712f54cbba4d7d2..483aab02785c2da32fbf6e8eca902f914e99a0c5 100644 (file)
@@ -318,16 +318,9 @@ void netlink_read_init(const char *fname)
 {
        snprintf(netlink_fuzz_file, MAXPATHLEN, "%s", fname);
        /* Creating this fake socket for testing purposes */
-       struct zebra_ns zns = {
-               .ns_id = 0,
-               .netlink_cmd = {.sock = -1,
-                               .seq = -1,
-                               .name = "fuzzer_command_channel"},
-               .netlink = {.sock = -1,
-                           .seq = -1,
-                           .name = "fuzzer_kernel_message"}
-       };
-       netlink_parse_info(netlink_information_fetch, &zns.netlink, &zns, 1, 0);
+       struct zebra_ns *zns = zebra_ns_lookup(NS_DEFAULT);
+
+       netlink_parse_info(netlink_information_fetch, &zns->netlink, zns, 1, 0);
 }
 
 /**
@@ -371,7 +364,7 @@ static long netlink_read_file(char *buf, const char *fname)
                fseek(f, 0, SEEK_END);
                file_bytes = ftell(f);
                rewind(f);
-               fread(buf, file_bytes, 1, f);
+               fread(buf, NL_RCV_PKT_BUF_SIZE, 1, f);
                fclose(f);
        }
        zserv_privs.change(ZPRIVS_LOWER);