mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-03 18:52:04 +00:00
BUG/MEDIUM: htx: When performing zero-copy, start from the right offset.
When using zerocopy, start from the beginning of the data, not from the beginning of the buffer, it may have contained headers, and so the data won't start at the beginning of the buffer.
This commit is contained in:
parent
2a454d8c7c
commit
84cca66ea3
@ -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 &&
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user