From: Florin Coras Date: Wed, 16 Dec 2020 04:35:11 +0000 (-0800) Subject: vppinfra: fix vec_max_len X-Git-Tag: v21.10-rc0~792 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=d6a1acebeae5adb157397b8088042a03f0fa5ee9;p=vpp.git vppinfra: fix vec_max_len Return 0 if the supplied vector pointer is NULL. Type: fix Signed-off-by: Florin Coras Change-Id: Icb0aab70e0b7c9c1ddcf607c9dfb7e5715f177d1 --- diff --git a/src/vppinfra/vec_bootstrap.h b/src/vppinfra/vec_bootstrap.h index 53968070c0e..5cf5d3b76a1 100644 --- a/src/vppinfra/vec_bootstrap.h +++ b/src/vppinfra/vec_bootstrap.h @@ -171,7 +171,8 @@ u32 vec_len_not_inline (void *v); }) /** \brief Total number of elements that can fit into vector. */ -#define vec_max_len(v) (vec_capacity(v,0) / sizeof (v[0])) +#define vec_max_len(v) \ + ((v) ? (vec_capacity (v,0) - vec_header_bytes (0)) / sizeof (v[0]) : 0) /** \brief Set vector length to a user-defined value */ #ifndef __COVERITY__ /* Coverity gets confused by ASSERT() */