forked from TrueCloudLab/neoneo-go
storage: fix reading overlapping hash blocks from the DB
In the unlikely event of overlapping hash block written to the DB we might end up with wrong hash list. That happened to me for some reason when synching with the testnet leading to the following keys with respective values: 150000 -> 2000 hashes 152000 -> 2000 hashes 153999 -> 2000 hashes Reading it hashes number 153999 and 154000 got the same values and the chain couldn't sync correctly.
This commit is contained in:
parent
4f60fd3e8e
commit
4395cea344
1 changed files with 1 additions and 1 deletions
|
@ -74,7 +74,7 @@ func HeaderHashes(s Store) ([]util.Uint256, error) {
|
||||||
sort.Sort(uint32Slice(sortedKeys))
|
sort.Sort(uint32Slice(sortedKeys))
|
||||||
|
|
||||||
for _, key := range sortedKeys {
|
for _, key := range sortedKeys {
|
||||||
hashes = append(hashes, hashMap[key]...)
|
hashes = append(hashes[:key], hashMap[key]...)
|
||||||
}
|
}
|
||||||
|
|
||||||
return hashes, nil
|
return hashes, nil
|
||||||
|
|
Loading…
Reference in a new issue