# HG changeset patch # User Roy Marples # Date 1602251157 -3600 # Node ID 5aedb51585b6ed4a97d4413a1f67ff399101a104 # Parent 4d665b4bede5f134f08f657674cebf14fa121ba2 privsep: Ensure command is for BPF first and interface valid second Otherwise we won't call inet_dispatch on a message meant for it. diff -r 4d665b4bede5 -r 5aedb51585b6 src/privsep-bpf.c --- a/src/privsep-bpf.c Wed Oct 07 16:21:26 2020 +0100 +++ b/src/privsep-bpf.c Fri Oct 09 14:45:57 2020 +0100 @@ -253,6 +253,17 @@ uint8_t *bpf; size_t bpf_len; + switch (psm->ps_cmd) { +#ifdef ARP + case PS_BPF_ARP: +#endif + case PS_BPF_BOOTP: + break; + default: + errno = ENOTSUP; + return -1; + } + ifp = if_findindex(ctx->ifaces, psm->ps_id.psi_ifindex); /* interface may have departed .... */ if (ifp == NULL) @@ -270,9 +281,6 @@ case PS_BPF_BOOTP: dhcp_packet(ifp, bpf, bpf_len, (unsigned int)psm->ps_flags); break; - default: - errno = ENOTSUP; - return -1; } return 1;