HTTP/2 HPACK Bounds Check Fix
Motivation:
21e8d84b79
changed the way bounds checking was done, but however a bounds check in the case of READ_LITERAL_HEADER_NAME_LENGTH_PREFIX was using an old value. This would delay when the bounds check would actually be done and potentially allow more allocation than necessary.
Modifications:
- Use the new length (index) in the bounds check instead of an old length (nameLength) which had not yet been assigned to the new value.
Result:
More correct bounds checking.
This commit is contained in:
parent
21e8d84b79
commit
f73c4f24ee
@ -213,7 +213,7 @@ public final class Decoder {
|
|||||||
if (index == 0x7f) {
|
if (index == 0x7f) {
|
||||||
state = READ_LITERAL_HEADER_NAME_LENGTH;
|
state = READ_LITERAL_HEADER_NAME_LENGTH;
|
||||||
} else {
|
} else {
|
||||||
if (nameLength > maxHeadersLength - headersLength) {
|
if (index > maxHeadersLength - headersLength) {
|
||||||
maxHeaderSizeExceeded();
|
maxHeaderSizeExceeded();
|
||||||
}
|
}
|
||||||
nameLength = index;
|
nameLength = index;
|
||||||
|
Loading…
Reference in New Issue
Block a user