Integer overflow when parsing prefixed integers from qpack#301
Merged
Ruben2424 merged 8 commits intohyperium:masterfrom May 3, 2025
Merged
Integer overflow when parsing prefixed integers from qpack#301Ruben2424 merged 8 commits intohyperium:masterfrom
Ruben2424 merged 8 commits intohyperium:masterfrom
Conversation
seanmonstar
approved these changes
May 3, 2025
Contributor
Author
|
@seanmonstar had to change a few things to satisfy CI after your review. Some unrelated to the original change: I moved the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes in this PR:
Overflow
previous to this PR the prefix_int
MAX_POWERrestricted to 10 * 7 (70) bits, which does not fit in an u64.This PR restricts the
MAX_POWERto 9 * 7 (63) bits. This still meets the requirement from the qpack spec of 62 bit:This means our implementation now rejects some values that would fit in
u64.Since the spec only requires 62 bit i chose this approach instead of adding more logic to the decoder.