BUG/MINOR: memprof: avoid a small memory leak in "show profiling"

In 3.1, per-DSO statistics were added to the memprofile output by
commit 401fb0e87a ("MINOR: activity/memprofile: show per-DSO stats").
However an strdup() is performed there on the .info field, that is
never freed when leaving the function. Let's do it each time we leave
it. Ironically, this was found thanks to "show profiling" showing
itself as an unbalanced caller of strdup().

This needs to be backported to 3.0 since that commit was backported
there.
This commit is contained in:
Willy Tarreau 2026-03-11 15:14:43 +01:00
parent 4d5a91b8af
commit ed44adc3ca

View file

@ -1309,6 +1309,10 @@ static int cli_io_handler_show_profiling(struct appctx *appctx)
tot_alloc_calls - tot_free_calls,
tot_alloc_bytes - tot_free_bytes);
/* release optional buffer name */
for (i = 0; i < max; i++)
ha_free(&tmp_memstats[i].info);
if (applet_putchk(appctx, &trash) == -1)
return 0;