1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-05-20 00:18:12 +08:00

fix: handle new ProtoNode errors

This commit is contained in:
Rod Vagg
2022-09-30 14:50:54 +10:00
parent c8a4b6ae00
commit cb1ba70a9b
5 changed files with 22 additions and 6 deletions

View File

@ -1245,7 +1245,10 @@ func getFileHandle(r *mfs.Root, path string, create bool, builder cid.Builder) (
}
nd := dag.NodeWithData(ft.FilePBData(nil, 0))
nd.SetCidBuilder(builder)
err = nd.SetCidBuilder(builder)
if err != nil {
return nil, err
}
err = pdir.AddChild(fname, nd)
if err != nil {
return nil, err

View File

@ -537,7 +537,9 @@ func deserializeNode(nd *Node, dataFieldEncoding string) (*dag.ProtoNode, error)
Cid: c,
}
}
dagnode.SetLinks(links)
if err := dagnode.SetLinks(links); err != nil {
return nil, err
}
return dagnode, nil
}

View File

@ -405,7 +405,9 @@ func deserializeNode(nd *Node, dataFieldEncoding string) (*dag.ProtoNode, error)
Cid: c,
}
}
dagnode.SetLinks(links)
if err := dagnode.SetLinks(links); err != nil {
return nil, err
}
return dagnode, nil
}

View File

@ -176,7 +176,10 @@ func (api *UnixfsAPI) Add(ctx context.Context, files files.Node, opts ...options
md := dagtest.Mock()
emptyDirNode := ft.EmptyDirNode()
// Use the same prefix for the "empty" MFS root as for the file adder.
emptyDirNode.SetCidBuilder(fileAdder.CidBuilder)
err := emptyDirNode.SetCidBuilder(fileAdder.CidBuilder)
if err != nil {
return nil, err
}
mr, err := mfs.NewRoot(ctx, md, emptyDirNode, nil)
if err != nil {
return nil, err

View File

@ -87,7 +87,10 @@ func (adder *Adder) mfsRoot() (*mfs.Root, error) {
return adder.mroot, nil
}
rnode := unixfs.EmptyDirNode()
rnode.SetCidBuilder(adder.CidBuilder)
err := rnode.SetCidBuilder(adder.CidBuilder)
if err != nil {
return nil, err
}
mr, err := mfs.NewRoot(adder.ctx, adder.dagService, rnode, nil)
if err != nil {
return nil, err
@ -384,7 +387,10 @@ func (adder *Adder) addSymlink(path string, l *files.Symlink) error {
}
dagnode := dag.NodeWithData(sdata)
dagnode.SetCidBuilder(adder.CidBuilder)
err = dagnode.SetCidBuilder(adder.CidBuilder)
if err != nil {
return err
}
err = adder.dagService.Add(adder.ctx, dagnode)
if err != nil {
return err