Merge pull request #594 from versity/fix/getobject-equal-range-check

GetObject same range fix
This commit is contained in:
Ben McClelland
2024-05-29 13:55:15 -07:00
committed by GitHub
2 changed files with 12 additions and 1 deletions

View File

@@ -92,7 +92,7 @@ func ParseRange(fi fs.FileInfo, acceptRange string) (int64, int64, error) {
return 0, 0, errInvalidRange
}
if endOffset < startOffset {
if endOffset <= startOffset {
return 0, 0, errInvalidRange
}

View File

@@ -3040,6 +3040,17 @@ func GetObject_invalid_ranges(s *S3Conf) error {
if err := checkApiErr(err, s3err.GetAPIError(s3err.ErrInvalidRange)); err != nil {
return err
}
ctx, cancel = context.WithTimeout(context.Background(), shortTimeout)
_, err = s3client.GetObject(ctx, &s3.GetObjectInput{
Bucket: &bucket,
Key: &obj,
Range: getPtr("bytes=0-0"),
})
cancel()
if err := checkApiErr(err, s3err.GetAPIError(s3err.ErrInvalidRange)); err != nil {
return err
}
return nil
})
}