diff options
| author | 2025-11-16 00:00:00 +0000 | |
|---|---|---|
| committer | 2025-11-16 00:00:00 +0000 | |
| commit | bd91bf5f3bcffe5d1023ab9a37e4a9425830aba9 (patch) | |
| tree | e6e9fb33bfa5c455a824f0af065c54529d357c0c /pack_pack.go | |
| parent | Revert "hash: Generic hash-algorithm API" (diff) | |
| signature | ||
hash: Make fewer helper functions need explicit hash length fields
Diffstat (limited to 'pack_pack.go')
| -rw-r--r-- | pack_pack.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pack_pack.go b/pack_pack.go index 757c5c02..4a75b1ad 100644 --- a/pack_pack.go +++ b/pack_pack.go @@ -69,11 +69,11 @@ func (repo *Repository) packReadAt(loc packlocation, want Hash) (Object, error) return nil, err } data := body.Bytes() - if !verifyTypedObject(ty, data, want, repo.HashSize) { + if !repo.verifyTypedObject(ty, data, want) { body.Release() return nil, ErrInvalidObject } - obj, err := parseObjectBody(ty, want, data, repo.HashSize) + obj, err := parseObjectBody(ty, want, data, repo) body.Release() return obj, err } @@ -269,10 +269,11 @@ func (repo *Repository) packTypeSizeWithin(pf *packFile, ofs uint64, seen map[pa return ty, declaredSize, nil case ObjRefDelta: var base Hash - _, err := io.ReadFull(r, base[:]) + _, err := io.ReadFull(r, base.data[:repo.HashSize]) if err != nil { return ObjInvalid, 0, err } + base.size = repo.HashSize baseTy, _, err := repo.packTypeSizeByID(base, seen) if err != nil { return ObjInvalid, 0, err @@ -315,10 +316,11 @@ func (repo *Repository) packBodyResolveWithin(pf *packFile, ofs uint64) (ObjType return ty, body, err case ObjRefDelta: var base Hash - _, err := io.ReadFull(r, base[:]) + _, err := io.ReadFull(r, base.data[:repo.HashSize]) if err != nil { return ObjInvalid, borrowedBody{}, err } + base.size = repo.HashSize delta, err := packSectionInflate(r, 0) if err != nil { return ObjInvalid, borrowedBody{}, err |
