wireguard: prevent segfault on non-adj packets 96/35896/1
authorJon Loeliger <jdl@netgate.com>
Tue, 5 Apr 2022 19:05:38 +0000 (14:05 -0500)
committerJon Loeliger <jdl@netgate.com>
Tue, 5 Apr 2022 19:16:31 +0000 (14:16 -0500)
commit4ab55146ae2044a278a0110f9d26816f005e54bf
treee0e16d7bb29edf5955197af673b1459b5bc51dcb
parent2f132efc3cafde5a0dd01ef8a91606528970cdf7
wireguard: prevent segfault on non-adj packets

An unexpected packet that shows up on a Wireguard interace
that happens not to have a forwarding peer will cause a
segfault trying to index the vector of peers by adjacency.
Rather than segfaulting, recognize a non-adjacent packet
and drop it instead.

This leaves open the question of what _should_ be
happening to, say, IPv6 multicast packets.

Signed-off-by: Jon Loeliger <jdl@netgate.com>
Type: fix
Fixes: edca1325cf296bd0f5ff422fc12de2ce7a7bad88
Change-Id: Ic0a29e6cf6fe812a4895ec11bedcca86c62e590b
src/plugins/wireguard/wireguard_output_tun.c
src/plugins/wireguard/wireguard_peer.h