From: fenglei <1579628578@qq.com> Date: Sat, 14 Dec 2024 03:12:27 +0000 (+0800) Subject: policer: fix policer_input coredump X-Git-Tag: v25.06-rc0~76 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=d1177514c4085f7fcdf09ddfcffa5a5d9a2774a8;p=vpp.git 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> --- 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);