Fix reading/writing 4 GiB or larger files on Windows 64-bit #31825
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.
ReadFile
andWriteFile
take a DWORD (u32) for the length argumentwhich was erroneously cast from a usize causing truncation. This meant
methods like
write_all
andread_exact
would unexpectedly fail ifgiven a buffer 4 GiB or larger.
We can instead just ask for
u32::MAX
bytes if the given buffer is toobig.