Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

Commit 3cc73ee

Browse files
overboolschomatis
authored andcommitted
fix(hamt): add error in makeShardValue
1 parent 9e75a2e commit 3cc73ee

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

hamt/hamt.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,17 @@ func (ds *Shard) Node() (ipld.Node, error) {
190190
return out, nil
191191
}
192192

193-
func (ds *Shard) makeShardValue(lnk *ipld.Link) *Shard {
193+
func (ds *Shard) makeShardValue(lnk *ipld.Link) (*Shard, error) {
194194
lnk2 := *lnk
195-
s, _ := makeShard(ds.dserv, ds.tableSize)
195+
s, err := makeShard(ds.dserv, ds.tableSize)
196+
if err != nil {
197+
return nil, err
198+
}
196199

197200
s.key = lnk.Name[ds.maxpadlen:]
198201
s.val = &lnk2
199202

200-
return s
203+
return s, nil
201204
}
202205

203206
func hash(val []byte) []byte {
@@ -305,7 +308,11 @@ func (ds *Shard) loadChild(ctx context.Context, i int) (*Shard, error) {
305308

306309
c = cds
307310
} else {
308-
c = ds.makeShardValue(lnk)
311+
s, err := ds.makeShardValue(lnk)
312+
if err != nil {
313+
return nil, err
314+
}
315+
c = s
309316
}
310317

311318
ds.children[i] = c
@@ -447,8 +454,11 @@ func makeAsyncTrieGetLinks(dagService ipld.DAGService, onShardValue func(shard *
447454
if lnkLinkType == shardLink {
448455
childShards = append(childShards, lnk)
449456
} else {
450-
sv := directoryShard.makeShardValue(lnk)
451-
err := onShardValue(sv)
457+
sv, err := directoryShard.makeShardValue(lnk)
458+
if err != nil {
459+
return nil, err
460+
}
461+
err = onShardValue(sv)
452462
if err != nil {
453463
return nil, err
454464
}

0 commit comments

Comments
 (0)