MINOR: checks: Make matching on HTTP headers for expect rules less obscure

A default statement in the switch testing the header name has been added to be
sure it is impossible to eval the value pattern on an uninitialized header
value. It should never happen of course. But this way, it is explicit.

And a comment has been added to make clear that ctx.value is always defined when
it is evaluated.

This patch fixes the issue #619.
This commit is contained in:
Christopher Faulet 2020-05-07 15:41:39 +02:00
parent d888f0fc6e
commit 083eff3734

View File

@ -2296,8 +2296,16 @@ static enum tcpcheck_eval_ret tcpcheck_eval_expect_http(struct check *check, str
if (!http_match_header(htx, expect->hdr.name_re, &ctx, full))
goto end_of_match;
break;
default:
/* should never happen */
goto end_of_match;
}
/* A header has matched the name pattern, let's test its
* value now (always defined from there). If there is no
* value pattern, it is a good match.
*/
if (expect->flags & TCPCHK_EXPT_FL_HTTP_HVAL_NONE) {
match = 1;
goto end_of_match;