fix: reused field crash in PartIndices (#15351)

`PartIndices` may be set if xlMetaV2Version is reused.

Clear before unmarshaling and add sanity check when reading.
This commit is contained in:
Klaus Post
2022-07-19 16:49:46 -07:00
committed by GitHub
parent f939d1c183
commit cae9aeca00
2 changed files with 5 additions and 1 deletions

View File

@@ -575,7 +575,7 @@ func (j xlMetaV2Object) ToFileInfo(volume, path string) (FileInfo, error) {
fi.Parts[i].ETag = j.PartETags[i]
}
fi.Parts[i].ActualSize = j.PartActualSizes[i]
if len(j.PartIndices) > 0 {
if len(j.PartIndices) == len(fi.Parts) {
fi.Parts[i].Index = j.PartIndices[i]
}
}