stats: fix the memory leak in stat_client.c

The issue can be reproduced by running "vpp_get_stats tightpoll"

The root cause is that the control flow discards the "result" struct
being prepared, along with pointer its allocated name.
This results in a memory leak.

Type: fix
Change-Id: Ibf884e92314f19b983a0159fc1257b3fa0110443
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
This commit is contained in:
Andrew Yourtchenko
2022-11-28 17:56:16 +00:00
committed by Ole Tr�an
parent 6db2758611
commit 3f885f97f0

View File

@ -287,6 +287,8 @@ copy_data (vlib_stats_entry_t *ep, u32 index2, char *name,
{
vlib_stats_entry_t *ep2;
ep2 = vec_elt_at_index (sm->directory_vector, ep->index1);
/* We do not intend to return the "result", avoid a leak */
free (result.name);
return copy_data (ep2, ep->index2, ep->name, sm);
}