fix: use correct count when reading fragments
Signed-off-by: Adam Hughes <9903835+tri-adam@users.noreply.github.com>
This commit is contained in:
@@ -96,20 +96,20 @@ func NewReader(r io.ReaderAt) (*Reader, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
toRead := squash.s.IdCount
|
toRead := squash.s.FragCount
|
||||||
var curRead uint16
|
var curRead uint32
|
||||||
var tmp []fragEntry
|
var tmp []fragEntry
|
||||||
var rdr *metadata.Reader
|
var rdr *metadata.Reader
|
||||||
var offset int
|
var offset int
|
||||||
for i := range fragOffsets {
|
for i := range fragOffsets {
|
||||||
curRead = uint16(math.Min(512, float64(toRead)))
|
curRead = uint32(math.Min(512, float64(toRead)))
|
||||||
tmp = make([]fragEntry, curRead)
|
tmp = make([]fragEntry, curRead)
|
||||||
rdr = metadata.NewReader(toreader.NewReader(r, int64(fragOffsets[i])), squash.d)
|
rdr = metadata.NewReader(toreader.NewReader(r, int64(fragOffsets[i])), squash.d)
|
||||||
err = binary.Read(rdr, binary.LittleEndian, &tmp)
|
err = binary.Read(rdr, binary.LittleEndian, &tmp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
offset = int(squash.s.IdCount - toRead)
|
offset = int(squash.s.FragCount - toRead)
|
||||||
for i := range tmp {
|
for i := range tmp {
|
||||||
squash.fragEntries[offset+i] = tmp[i]
|
squash.fragEntries[offset+i] = tmp[i]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user