mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 13:16:42 +00:00
fix
This commit is contained in:
parent
15f6d24a9b
commit
0d72bdf614
1 changed files with 3 additions and 8 deletions
11
trie/sync.go
11
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)),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue