diff --git a/src/mux_h1.c b/src/mux_h1.c index a20e29a32..32004c68c 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -1404,7 +1404,7 @@ static size_t h1_process_output(struct h1c *h1c, struct buffer *buf, size_t coun * the HTX blocks. */ if (!b_data(&h1c->obuf)) { - h1c->obuf.head = sizeof(struct htx); + h1c->obuf.head = sizeof(struct htx) + blk->addr; if (chn_htx->used == 1 && blk && htx_get_blk_type(blk) == HTX_BLK_DATA && diff --git a/src/mux_h2.c b/src/mux_h2.c index 4ca0907b6..d13bd9582 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -4335,7 +4335,7 @@ static size_t h2s_htx_frt_make_resp_data(struct h2s *h2s, struct buffer *buf, si * frame header there. */ h2c->mbuf.area = buf->area; - h2c->mbuf.head = sizeof(struct htx) - 9; + h2c->mbuf.head = sizeof(struct htx) + blk->addr - 9; h2c->mbuf.data = fsize + 9; outbuf.area = b_head(&h2c->mbuf);