From d6a1acebeae5adb157397b8088042a03f0fa5ee9 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 15 Dec 2020 20:35:11 -0800 Subject: [PATCH] vppinfra: fix vec_max_len Return 0 if the supplied vector pointer is NULL. Type: fix Signed-off-by: Florin Coras Change-Id: Icb0aab70e0b7c9c1ddcf607c9dfb7e5715f177d1 --- src/vppinfra/vec_bootstrap.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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() */ -- 2.16.6