From: Christopher Faulet Date: Wed, 28 Nov 2018 15:55:12 +0000 (+0100) Subject: BUG/MINOR: htx: Stop a header or a start line lookup on the first EOH or EOM X-Git-Tag: v1.9-dev9~88 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=573fe735f437c8b1ca9292c16e834b4020e227f8;p=thirdparty%2Fhaproxy.git BUG/MINOR: htx: Stop a header or a start line lookup on the first EOH or EOM Because several messages can be stored in the HTX structure, it is important to restrict searches to the current message. --- diff --git a/src/http_htx.c b/src/http_htx.c index 1295231780..c3027f9484 100644 --- a/src/http_htx.c +++ b/src/http_htx.c @@ -47,7 +47,8 @@ union h1_sl http_find_stline(const struct htx *htx) sl.st.r = ist2(htx_sl->st.l + htx_sl->st.v_len + htx_sl->st.c_len, htx_sl->st.r_len); return sl; } - if (type == HTX_BLK_EOM) + + if (type == HTX_BLK_EOH || type == HTX_BLK_EOM) break; } @@ -107,6 +108,8 @@ int http_find_header(const struct htx *htx, const struct ist name, rescan_hdr: blk = htx_get_blk(htx, pos); type = htx_get_blk_type(blk); + if (type == HTX_BLK_EOH || type == HTX_BLK_EOM) + break; if (type != HTX_BLK_HDR) goto next_blk; if (name.len) {