[PATCH bpf-next] samples/bpf: xdp_router_ipv4_user: Fix write overflow

From: Rong Tao
Date: Mon Nov 21 2022 - 21:34:31 EST


From: Rong Tao <rongtao@xxxxxxxx>

prefix_key->data allocates three bytes using alloca(), but four bytes are
accessed in the program.

Signed-off-by: Rong Tao <rongtao@xxxxxxxx>
---
samples/bpf/xdp_router_ipv4_user.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/samples/bpf/xdp_router_ipv4_user.c b/samples/bpf/xdp_router_ipv4_user.c
index 683913bbf279..9d41db09c480 100644
--- a/samples/bpf/xdp_router_ipv4_user.c
+++ b/samples/bpf/xdp_router_ipv4_user.c
@@ -162,7 +162,7 @@ static void read_route(struct nlmsghdr *nh, int nll)
__be32 gw;
} *prefix_value;

- prefix_key = alloca(sizeof(*prefix_key) + 3);
+ prefix_key = alloca(sizeof(*prefix_key) + 4);
prefix_value = alloca(sizeof(*prefix_value));

prefix_key->prefixlen = 32;
--
2.38.1