diff options
author | fenglei <1579628578@qq.com> | 2024-12-14 11:12:27 +0800 |
---|---|---|
committer | Beno�t Ganne <bganne@cisco.com> | 2024-12-16 10:45:07 +0000 |
commit | d1177514c4085f7fcdf09ddfcffa5a5d9a2774a8 (patch) | |
tree | de5d5a5d29444848f37faae82213a3b353c762d0 | |
parent | 0ad98a8c9d36fe2363e9bb6a23a500c4097b25fc (diff) |
policer: fix policer_input coredump
Type: fix
policer_input didn't check policer_index will lead to coredump
when refer to cm->counters[thread_index] variable, cm->counters[thread_index] is null.
Change-Id: I8c6ef6c4c2bc96f23ab806327cb6f179c958cee2
Signed-off-by: fenglei <1579628578@qq.com>
-rw-r--r-- | src/vnet/policer/policer.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vnet/policer/policer.c b/src/vnet/policer/policer.c index eb7d40a340a..1c575c84ccd 100644 --- a/src/vnet/policer/policer.c +++ b/src/vnet/policer/policer.c @@ -226,6 +226,9 @@ policer_input (u32 policer_index, u32 sw_if_index, vlib_dir_t dir, bool apply) { vnet_policer_main_t *pm = &vnet_policer_main; + if (pool_is_free_index (pm->policers, policer_index)) + return VNET_API_ERROR_NO_SUCH_ENTRY; + if (apply) { vec_validate (pm->policer_index_by_sw_if_index[dir], sw_if_index); |