vppinfra: fix ASAN issue in vec_foreach_pointer and pool_foreach_pointer
[vpp.git] / src / vppinfra / vec_bootstrap.h
index 5ea7a80..5d386b1 100644 (file)
@@ -240,8 +240,8 @@ _vec_set_len (void *v, uword len, uword elt_sz)
 
 #define vec_foreach_pointer(e, v)                                             \
   if (v)                                                                      \
-    for (typeof (**v) **__ep = (v), *(e) = *__ep; __ep - (v) < vec_len (v);   \
-        __ep++, (e) = *__ep)
+    for (typeof (**v) **__ep = (v), **__end = vec_end (v), *(e) = *__ep;      \
+        __ep < __end; __ep++, (e) = __ep < __end ? *__ep : (e))
 
 #endif /* included_clib_vec_bootstrap_h */