]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: http_htx: Fix searching headers by substring
authorMaciej Zdeb <maciej@zdeb.pl>
Fri, 20 Nov 2020 12:12:24 +0000 (12:12 +0000)
committerWilly Tarreau <w@1wt.eu>
Sat, 21 Nov 2020 14:54:26 +0000 (15:54 +0100)
Function __http_find_header is used to search headers by name using specified
matching method. Matching by substring returned unexpected results due to wrong
length of substring supplied to strnistr function.

Fixed also the boolean condition by inverting it, as we're interested in
headers that contains the substring.

This patch should be backported as far as 2.2

src/http_htx.c

index b27b0836c669144da3b0af425b2485885f2f97f5..9570b1ea7aa1252d9cae34352255da38e571d2cb 100644 (file)
@@ -201,7 +201,7 @@ static int __http_find_header(const struct htx *htx, const void *pattern, struct
                                        goto next_blk;
                                break;
                        case HTTP_FIND_FL_MATCH_SUB:
-                               if (strnistr(n.ptr, n.len, name.ptr, n.len) != NULL)
+                               if (!strnistr(n.ptr, n.len, name.ptr, name.len))
                                        goto next_blk;
                                break;
                        default: