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 <lijh_7@chinatelecom.cn>
This commit is contained in:
@ -93,10 +93,12 @@ format_error_trace (u8 * s, va_list * va)
|
|||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
error_node = vlib_get_node (vm, vlib_error_get_node (&vm->node_main, e[0]));
|
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])) +
|
i = counter_index (vm, vlib_error_get_code (&vm->node_main, e[0]));
|
||||||
error_node->error_heap_index;
|
|
||||||
if (i != CLIB_U32_MAX)
|
if (i != CLIB_U32_MAX)
|
||||||
|
{
|
||||||
|
i += error_node->error_heap_index;
|
||||||
s = format (s, "%v: %s", error_node->name, em->counters_heap[i].desc);
|
s = format (s, "%v: %s", error_node->name, em->counters_heap[i].desc);
|
||||||
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user