From 573fe735f437c8b1ca9292c16e834b4020e227f8 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 28 Nov 2018 16:55:12 +0100 Subject: [PATCH] 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. --- src/http_htx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/http_htx.c b/src/http_htx.c index 129523178..c3027f948 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) {