From 0d72bdf61464ad98efaf372e6c96023a870efb19 Mon Sep 17 00:00:00 2001 From: allen Date: Sun, 28 Sep 2025 09:39:10 -0400 Subject: [PATCH] fix --- trie/sync.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/trie/sync.go b/trie/sync.go index 022c55e433..404d67f154 100644 --- a/trie/sync.go +++ b/trie/sync.go @@ -19,6 +19,7 @@ package trie import ( "errors" "fmt" + "slices" "sync" "github.com/ethereum/go-ethereum/common" @@ -551,12 +552,9 @@ func (s *Sync) children(req *nodeRequest, object node) ([]*nodeRequest, error) { if hasTerm(key) { key = key[:len(key)-1] } - path := make([]byte, len(req.path)+len(key)) - copy(path, req.path) - copy(path[len(req.path):], key) children = []childNode{{ node: node.Val, - path: path, + path: slices.Concat(req.path, key), }} // Mark all internal nodes between shortNode and its **in disk** // child as invalid. This is essential in the case of path mode @@ -596,12 +594,9 @@ func (s *Sync) children(req *nodeRequest, object node) ([]*nodeRequest, error) { case *fullNode: for i := 0; i < 17; i++ { if node.Children[i] != nil { - path := make([]byte, len(req.path)+1) - copy(path, req.path) - path[len(req.path)] = byte(i) children = append(children, childNode{ node: node.Children[i], - path: path, + path: append(slices.Clone(req.path), byte(i)), }) } }