BUG/MINOR: protocol: fix minor memory leak in protocol_bind_all()
In protocol_bind_all() (involved in startup sequence): We only free errmsg (set by fam->bind() attempt) when we make use of it. But this could lead to some memory leaks because there are some cases where we ignore the error message (e.g: verbose=0 with ERR_WARN messages). As long as errmsg is set, we should always free it. As mentioned earlier, this really is a minor leak because it can only occur on specific conditions (error paths) during the startup phase. This may be backported up to 2.4. -- Backport notes: -> 2.4 only: Replace this: | ha_warning("Binding [%s:%d] for %s %s: %s\n", | listener->bind_conf->file, listener->bind_conf->line, | proxy_type_str(px), px->id, errmsg); By this: | else if (lerr & ERR_WARN) | ha_warning("Starting %s %s: %s\n", | proxy_type_str(px), px->id, errmsg);
This commit is contained in:
parent
d861dc9b48
commit
8429627e3c
@ -99,8 +99,10 @@ int protocol_bind_all(int verbose)
|
||||
ha_warning("Binding [%s:%d] for %s %s: %s\n",
|
||||
listener->bind_conf->file, listener->bind_conf->line,
|
||||
proxy_type_str(px), px->id, errmsg);
|
||||
ha_free(&errmsg);
|
||||
}
|
||||
if (lerr != ERR_NONE)
|
||||
ha_free(&errmsg);
|
||||
|
||||
if (lerr & ERR_ABORT)
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user