vppinfra: make coverity happy with vec_set_len

Coverity gets confused by ASSERT((l) <= vec_max_len(v)) when l is 0.

Type: fix

Change-Id: I247d7015b148233d8f195bcf41e9a047b7a21309
Signed-off-by: Benoît Ganne <bganne@cisco.com>
This commit is contained in:
Benoît Ganne
2019-10-22 18:19:00 +02:00
committed by Florin Coras
parent 3ad078d75d
commit 70d5d4fa09

View File

@ -160,16 +160,21 @@ vec_aligned_header_end (void *v, uword header_bytes, uword align)
#define vec_max_len(v) (vec_capacity(v,0) / sizeof (v[0]))
/** \brief Set vector length to a user-defined value */
#ifndef __COVERITY__ /* Coverity gets confused by ASSERT() */
#define vec_set_len(v, l) do { \
ASSERT(v); \
ASSERT((l) <= vec_max_len(v)); \
_vec_len(v) = (l); \
} while (0)
#else /* __COVERITY__ */
#define vec_set_len(v, l) do { \
_vec_len(v) = (l); \
} while (0)
#endif /* __COVERITY__ */
/** \brief Reset vector length to zero
NULL-pointer tolerant
*/
#define vec_reset_length(v) do { if (v) vec_set_len (v, 0); } while (0)
/** \brief End (last data address) of vector. */