From 5fcec2053eab28b8b56e6d692d9822dc22bd073f Mon Sep 17 00:00:00 2001 From: GaoChX Date: Thu, 4 Aug 2022 10:04:33 +0800 Subject: arping: validate am->interfaces before check address May cause pointers point to unexpected non-zero addresses if not validate vec Type: fix Change-Id: Ie4d3343d6734125b98e0dc962e33e0c7514da829 Signed-off-by: GaoChX --- src/plugins/arping/arping.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/plugins/arping') diff --git a/src/plugins/arping/arping.c b/src/plugins/arping/arping.c index 14f92589ea7..a446c259d44 100644 --- a/src/plugins/arping/arping.c +++ b/src/plugins/arping/arping.c @@ -554,7 +554,8 @@ arping_neighbor_probe_dst (vlib_main_t *vm, arping_args_t *args) arping_intf_t aif; /* Disallow multiple sends on the same interface for now. Who needs it? */ - if (am->interfaces && (am->interfaces[args->sw_if_index] != 0)) + if ((vec_len (am->interfaces) > args->sw_if_index) && + (am->interfaces[args->sw_if_index] != 0)) { error = clib_error_return ( 0, "arping command is in progress for the same interface. " -- cgit 1.2.3-korg