The proxy's "description" keyword did not release the previous value
before assigning the new one, so the first one was leaked when the
keyword was used twice, e.g. once in a defaults section and once in the
proxy. Note that the global section's "description" does it properly.
This may be backported to all supported versions.
d = calloc(1, len);
if (!d)
goto alloc_error;
+ ha_free(&curproxy->desc);
curproxy->desc = d;
d += snprintf(d, curproxy->desc + len - d, "%s", args[1]);