mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
[BUG] cfgparse memory leak and missing free calls in deinit()
Thich patch fixes cfgparser not to leak memory on each default server statement and adds several missing free calls in deinit(): - free(l->name) - free(l->counters) - free(p->desc); - free(p->fwdfor_hdr_name); None of them are critical, hopefully.
This commit is contained in:
parent
7d38afb4a8
commit
aff01ea1dc
@ -3023,13 +3023,13 @@ stats_error_parsing:
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((newsrv = (struct server *)calloc(1, sizeof(struct server))) == NULL) {
|
||||
Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!defsrv) {
|
||||
if ((newsrv = (struct server *)calloc(1, sizeof(struct server))) == NULL) {
|
||||
Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
|
||||
err_code |= ERR_ALERT | ERR_ABORT;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* the servers are linked backwards first */
|
||||
newsrv->next = curproxy->srv;
|
||||
curproxy->srv = newsrv;
|
||||
|
@ -854,10 +854,15 @@ void deinit(void)
|
||||
l = p->listen;
|
||||
while (l) {
|
||||
l_next = l->next;
|
||||
free(l->name);
|
||||
free(l->counters);
|
||||
free(l);
|
||||
l = l_next;
|
||||
}/* end while(l) */
|
||||
|
||||
free(p->desc);
|
||||
free(p->fwdfor_hdr_name);
|
||||
|
||||
req_acl_free(&p->req_acl);
|
||||
|
||||
pool_destroy2(p->req_cap_pool);
|
||||
|
Loading…
x
Reference in New Issue
Block a user