mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-10 17:17:06 +02:00
BUG/MINOR: qpack: fix buffer API usage on prefix integer encoding
Replace bogus call b_data() by b_room() to check if there is enough space left in the buffer before encoding a prefix integer. At this moment, no real scenario was found to trigger a bug related to this change. This is probably because the buffer always contains data (field section line and status code) before calling qpack_encode_prefix_integer() which prevents an occurrence of this bug.
This commit is contained in:
parent
e06ca65e8d
commit
5f6de8d77a
@ -33,13 +33,13 @@ static int qpack_encode_prefix_integer(struct buffer *out, int i, int prefix_siz
|
|||||||
BUG_ON(!prefix_size);
|
BUG_ON(!prefix_size);
|
||||||
|
|
||||||
if (i < (1 << prefix_size) - 1) {
|
if (i < (1 << prefix_size) - 1) {
|
||||||
if (b_data(out) < 1)
|
if (b_room(out) < 1)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
b_putchr(out, before_prefix | i);
|
b_putchr(out, before_prefix | i);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (b_data(out) < 2)
|
if (b_room(out) < 2)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
b_putchr(out, before_prefix | ((1 << prefix_size) - 1));
|
b_putchr(out, before_prefix | ((1 << prefix_size) - 1));
|
||||||
|
Loading…
Reference in New Issue
Block a user