vppinfra: fix memory leak in sparse_vec_free() 89/36589/2
authorSergey Matov <sergey.matov@travelping.com>
Mon, 23 Nov 2020 17:35:28 +0000 (21:35 +0400)
committerNeale Ranns <neale@graphiant.com>
Wed, 6 Jul 2022 01:46:14 +0000 (01:46 +0000)
Type: fix

Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com>
Signed-off-by: Sergey Matov <sergey.matov@travelping.com>
Change-Id: I4ec1a68b7266f05ab7c543cd8207afb29e740743

src/vppinfra/sparse_vec.h

index 1f57d30..3bd440d 100644 (file)
@@ -225,7 +225,10 @@ sparse_vec_index2 (void *v,
     {                                                                         \
       if (V)                                                                  \
        {                                                                     \
-         clib_mem_free (sparse_vec_header (V));                              \
+         sparse_vec_header_t *_h = sparse_vec_header (V);                    \
+         vec_free (_h->is_member_bitmap);                                    \
+         vec_free (_h->member_counts);                                       \
+         clib_mem_free (_h);                                                 \
          V = 0;                                                              \
        }                                                                     \
     }                                                                         \