diff options
author | Péter Szilágyi <peterke@gmail.com> | 2019-02-20 16:48:12 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-20 16:48:12 +0800 |
commit | c942700427557e3ff6de3aaf6b916e2f056c1ec2 (patch) | |
tree | cadf68e7206d6de42b1eefc6967214cf86e35ff2 /trie | |
parent | 7fa3509e2eaf1a4ebc12344590e5699406690f15 (diff) | |
parent | cde35439e058b4f9579830fec9fb65ae0b998346 (diff) | |
download | dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.tar dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.tar.gz dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.tar.bz2 dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.tar.lz dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.tar.xz dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.tar.zst dexon-c942700427557e3ff6de3aaf6b916e2f056c1ec2.zip |
Merge pull request #19029 from holiman/update1.8
Update1.8
Diffstat (limited to 'trie')
-rw-r--r-- | trie/encoding.go | 3 | ||||
-rw-r--r-- | trie/trie_test.go | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/trie/encoding.go b/trie/encoding.go index 5f120de63..1955a3e66 100644 --- a/trie/encoding.go +++ b/trie/encoding.go @@ -52,6 +52,9 @@ func hexToCompact(hex []byte) []byte { } func compactToHex(compact []byte) []byte { + if len(compact) == 0 { + return compact + } base := keybytesToHex(compact) // delete terminator flag if base[0] < 2 { diff --git a/trie/trie_test.go b/trie/trie_test.go index f9d6029c9..4d84aa96c 100644 --- a/trie/trie_test.go +++ b/trie/trie_test.go @@ -614,3 +614,16 @@ func updateString(trie *Trie, k, v string) { func deleteString(trie *Trie, k string) { trie.Delete([]byte(k)) } + +func TestDecodeNode(t *testing.T) { + t.Parallel() + var ( + hash = make([]byte, 20) + elems = make([]byte, 20) + ) + for i := 0; i < 5000000; i++ { + rand.Read(hash) + rand.Read(elems) + decodeNode(hash, elems, 1) + } +} |