When "hdr" arguments of an http reply are parsed, the allocated header may leak
on error path. Adding it to the header list earlier fixes the issue.
This patch should partly fix the issue #645.
No backport needed.
memprintf(errmsg, "'%s' : out of memory", args[cur_arg-1]);
goto error;
}
+ LIST_ADDQ(&reply->hdrs, &hdr->list);
LIST_INIT(&hdr->value);
hdr->name = ist(strdup(args[cur_arg]));
if (!isttest(hdr->name)) {
memprintf(errmsg, "out of memory");
goto error;
}
- LIST_ADDQ(&reply->hdrs, &hdr->list);
if (!parse_logformat_string(args[cur_arg+1], px, &hdr->value, LOG_OPT_HTTP, cap, errmsg))
goto error;