Fix the wrong type i32 used for offset calculation at download to u64 #186
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 offset calculation for writing a block to download target file is
in i32 after commit 118e586, which replaced the AWS SDK from rusoto
to AWS's one and also replaced the type of block indext and block size.
This causes an integer overflow when there is a block whoes index is
greater than 4096 or the offset is greater than 2 GiB as the block size
is 512 KiB.
This commit will change the type casting of the offset to type castings
of block indext and block size to prevent integer overflows at offset
calculations for downloads.
Issue: #185