mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-30 14:58:21 +00:00
[BUG] segfault on some erroneous configurations
If captures were configured in a TCP-only listener, and the logs were enabled, the proxy could segfault when trying to scan the capture buffer which was NULL. Such an erroneous configuration will not be possible anymore soon, but let's avoid the problem for now by detecting the NULL condition.
This commit is contained in:
parent
9cabf70db7
commit
4266a36c5a
@ -349,7 +349,9 @@ void sess_log(struct session *s)
|
||||
h = tmpline;
|
||||
|
||||
/* right now, header capture is limited to the frontend only */
|
||||
if (fe->to_log & LW_REQHDR && (h < tmpline + sizeof(tmpline) - 10)) {
|
||||
if (fe->to_log & LW_REQHDR &&
|
||||
hreq->req.cap &&
|
||||
(h < tmpline + sizeof(tmpline) - 10)) {
|
||||
*(h++) = ' ';
|
||||
*(h++) = '{';
|
||||
for (hdr = 0; hdr < fe->nb_req_cap; hdr++) {
|
||||
@ -362,7 +364,9 @@ void sess_log(struct session *s)
|
||||
*(h++) = '}';
|
||||
}
|
||||
|
||||
if (fe->to_log & LW_RSPHDR && (h < tmpline + sizeof(tmpline) - 7)) {
|
||||
if (fe->to_log & LW_RSPHDR &&
|
||||
hreq->rsp.cap &&
|
||||
(h < tmpline + sizeof(tmpline) - 7)) {
|
||||
*(h++) = ' ';
|
||||
*(h++) = '{';
|
||||
for (hdr = 0; hdr < fe->nb_rsp_cap; hdr++) {
|
||||
|
Loading…
Reference in New Issue
Block a user