Ensure that attempts to read integers from TLV don't silently produce unexpected values. #9944
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.
Two changes:
Ensure the value was encoded with the signed-ness the reader expects.
Ensure the value is in the range the reader expects instad of
ending up with overflow and whatever that does..
Fixes #5152
The test changes were largely lifted from
#5764
Problem
If the sender encoded 256 and the recipient reads it as a uint8_t, currently we will silently read 0.
Change overview
Make that fail instead.
Testing
Lots of new unit tests, courtesy of @bitkis