From: Benoît Ganne Date: Thu, 16 Apr 2020 10:40:54 +0000 (+0200) Subject: bier: fix vector size confusing ASan X-Git-Tag: v20.09-rc0~201 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=77100efb37f7cb333f9ab55dc206bf1431e3ae50 bier: fix vector size confusing ASan The vector is initialized to 1024 entries which is guaranteed to be enough, but as its size can shrink between calls, make sure ASan is aware of the expected size before using it. Type: fix Change-Id: I4bcc39867a886b3cb463854d2cda0b32155650e9 Signed-off-by: Benoît Ganne --- diff --git a/src/vnet/bier/bier_lookup.c b/src/vnet/bier/bier_lookup.c index 9361845c992..f7a21a1c744 100644 --- a/src/vnet/bier/bier_lookup.c +++ b/src/vnet/bier/bier_lookup.c @@ -219,15 +219,16 @@ bier_lookup (vlib_main_t * vm, if (PREDICT_TRUE(0 != n_clones)) { + vec_set_len(blm->blm_clones[thread_index], n_clones); num_cloned = vlib_buffer_clone(vm, bi0, blm->blm_clones[thread_index], n_clones, VLIB_BUFFER_CLONE_HEAD_SIZE); - vec_set_len(blm->blm_clones[thread_index], num_cloned); if (num_cloned != n_clones) { + vec_set_len(blm->blm_clones[thread_index], num_cloned); vlib_node_increment_counter (vm, node->node_index, BIER_LOOKUP_ERROR_BUFFER_ALLOCATION_FAILURE, 1);