From: Amaury Denoyelle Date: Tue, 10 Nov 2020 13:24:30 +0000 (+0100) Subject: BUG/MINOR: stats: free dynamically stats fields/lines on shutdown X-Git-Tag: v2.4-dev1~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2a6899bee5add180afb02ac2b1ce7cb360a96e3;p=thirdparty%2Fhaproxy.git BUG/MINOR: stats: free dynamically stats fields/lines on shutdown Register a new function on POST DEINIT to free stats fields/lines for each domain. This patch does not fix a critical bug but may be backported to 2.3. --- diff --git a/src/stats.c b/src/stats.c index 762672f45e..ad92d71593 100644 --- a/src/stats.c +++ b/src/stats.c @@ -4548,6 +4548,23 @@ static int allocate_stats_dns_postcheck(void) REGISTER_CONFIG_POSTPARSER("allocate-stats-dns", allocate_stats_dns_postcheck); +static void deinit_stats(void) +{ + int domains[] = { STATS_DOMAIN_PROXY, STATS_DOMAIN_DNS }, i; + + for (i = 0; i < STATS_DOMAIN_COUNT; ++i) { + const int domain = domains[i]; + + if (stat_l[domain]) + free(stat_l[domain]); + + if (stat_f[domain]) + free(stat_f[domain]); + } +} + +REGISTER_POST_DEINIT(deinit_stats); + /* register cli keywords */ static struct cli_kw_list cli_kws = {{ },{ { { "clear", "counters", NULL }, "clear counters : clear max statistics counters (add 'all' for all counters)", cli_parse_clear_counters, NULL, NULL },