mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-22 13:46:52 +00:00
BUG/MEDIUM: h2/htx: Update data length of the HTX when the cookie list is built
When an H2 request is converted into an HTX message, All cookie headers are grouped into one, each value separated by a semicolon (;). To do so, we add the header "cookie" with the first value and then we update the value by appending other cookies. But during this operation, only the size of the HTX block is updated. And not the data length of the whole HTX message. It is an old bug and it seems to work by chance till now. But it may lead to undefined behaviour by time to time. This patch must be backported to 2.0 and 1.9
This commit is contained in:
parent
9dc6b97429
commit
0c6de00d7c
1
src/h2.c
1
src/h2.c
@ -737,6 +737,7 @@ int h2_make_htx_request(struct http_hdr *list, struct htx *htx, unsigned int *ms
|
||||
goto fail;
|
||||
|
||||
htx_set_blk_value_len(blk, tl);
|
||||
htx->data += vl+2;
|
||||
*(char *)(htx_get_blk_ptr(htx, blk) + bs + 0) = ';';
|
||||
*(char *)(htx_get_blk_ptr(htx, blk) + bs + 1) = ' ';
|
||||
memcpy(htx_get_blk_ptr(htx, blk) + bs + 2, list[ck].v.ptr, vl);
|
||||
|
Loading…
Reference in New Issue
Block a user