THRIFT-5211: Haskell: Handle incomplete reads correctly. #2108
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.
The read functions for handles promise to return up to the requested number of bytes. This means in case we read less bytes, we should try again to read some more bytes. This issue caused invalid frame sizes which caused arbitrary decoding failures.
I believe that the bug has been introduced in 3c42007
[skip ci]at the end of your pull request to free up build resources.