xl/fs: offset and length cannot be negative. (#2121)

Fixes #2119
This commit is contained in:
Harshavardhana
2016-07-07 01:30:34 -07:00
committed by GitHub
parent 169c72cdab
commit ddf3245677
4 changed files with 18 additions and 1 deletions

View File

@@ -175,6 +175,11 @@ func parallelRead(volume, path string, readDisks []StorageAPI, orderedDisks []St
// then written to given writer. This function also supports bit-rot detection by
// verifying checksum of individual block's checksum.
func erasureReadFile(writer io.Writer, disks []StorageAPI, volume string, path string, partName string, eInfos []erasureInfo, offset int64, length int64, totalLength int64) (int64, error) {
// Offset and length cannot be negative.
if offset < 0 || length < 0 {
return 0, errUnexpected
}
// Pick one erasure info.
eInfo := pickValidErasureInfo(eInfos)