Preparing ggated for fuzzing [...] +static ssize_t +fake_g_gate_recv(int s, void *buf, size_t len) +{ + return (read(s, buf, len)); +} +#define g_gate_recv(a, b, c, d) fake_g_gate_recv(a, b, c) +#define g_gate_send(a, b, c, d) 1 + [...] @@ -945,6 +953,20 @@ handshake(struct sockaddr *from, int sfd) [...] +static int +fuzz_handshake(void) +{ + struct sockaddr from; + int sfd; + + sfd = 0; /* Read fuzzed input from stdin */ + memset(&from, 0, sizeof(from)); + + g_gate_log(LOG_DEBUG, "Fuzzing handshake"); + + return (handshake(&from, sfd)); +} [...]