When interface keyword is used multiple times within the same bind line,
the previous value isn't checked and is rewritten as-is, resulting in a
small memory leak.
Ensuring the interface name is first freed before assigning it to a new
value.
This may be backported to every stable versions.
[Note for 2.2, the fix must be performed in bind_parse_interface() from
proto_tcp.c, directly within the listener's loop, also ha_free() was
not available so free() must be used instead]
return ERR_ALERT | ERR_FATAL;
}
+ ha_free(&conf->settings.interface);
conf->settings.interface = strdup(args[cur_arg + 1]);
return 0;
}