From eb2a4189f5962e6345cd10e7d7a3267451dc04bb Mon Sep 17 00:00:00 2001 From: lijinhui Date: Thu, 22 Feb 2024 11:16:10 +0800 Subject: vlib: fix counter_index check Ensure counter index is valid before using it to lookup the counter. Type: fix Change-Id: I423c7a6aa6b65f6367b18d8e99cf40f52e06b416 Signed-off-by: lijinhui --- src/vlib/drop.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/vlib/drop.c b/src/vlib/drop.c index 66eb98fb899..3fda1d9b3b6 100644 --- a/src/vlib/drop.c +++ b/src/vlib/drop.c @@ -93,10 +93,12 @@ format_error_trace (u8 * s, va_list * va) u32 i; error_node = vlib_get_node (vm, vlib_error_get_node (&vm->node_main, e[0])); - i = counter_index (vm, vlib_error_get_code (&vm->node_main, e[0])) + - error_node->error_heap_index; + i = counter_index (vm, vlib_error_get_code (&vm->node_main, e[0])); if (i != CLIB_U32_MAX) - s = format (s, "%v: %s", error_node->name, em->counters_heap[i].desc); + { + i += error_node->error_heap_index; + s = format (s, "%v: %s", error_node->name, em->counters_heap[i].desc); + } return s; } -- cgit 1.2.3-korg