BUG/MINOR: http: Missing calloc return value check while parsing tcp-request rule

A memory allocation failure happening in tcp_parse_request_rule while
processing the "capture" keyword and trying to allocate a cap_hdr
structure would have resulted in a crash. This function is only called
during configuration parsing.

It was raised in GitHub issue #1233.
It could be backported to all stable branches.
This commit is contained in:
Remi Tricot-Le Breton 2021-05-17 10:08:16 +02:00 committed by Christopher Faulet
parent 2ca42b4656
commit 8cb033643f

View File

@ -826,6 +826,11 @@ static int tcp_parse_request_rule(char **args, int arg, int section_type,
}
hdr = calloc(1, sizeof(*hdr));
if (!hdr) {
memprintf(err, "parsing [%s:%d] : out of memory", file, line);
release_sample_expr(expr);
return -1;
}
hdr->next = curpx->req_cap;
hdr->name = NULL; /* not a header capture */
hdr->namelen = 0;