Test for integer overflow in when checking read requests are within the bounds of the associated piece. Another fix is required to limit the amount of memory that can be allocated for such requests.
Possibly on read buffer boundaries, this would have caused errant io.ErrUnexpectedEOF.
(cherry picked from commit 22569449dad48e1c5cdeac171625585f8ca976c9)