diff options
author | Péter Szilágyi <peterke@gmail.com> | 2019-05-13 18:31:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-13 18:31:45 +0800 |
commit | a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7 (patch) | |
tree | 56f5ddeed2c32b2723333dee340883dc96c8bafa | |
parent | ec2131c8d3382db3762909a8e7d225be61bae230 (diff) | |
parent | 95263914fcc6631aedc7294624ae39c2adf3cb5f (diff) | |
download | go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.tar go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.tar.gz go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.tar.bz2 go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.tar.lz go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.tar.xz go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.tar.zst go-tangerine-a0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7.zip |
Merge pull request #19562 from holiman/fix_tabcrash
p2p/discover: fix nil-dereference due to race
-rw-r--r-- | p2p/discover/table.go | 1 | ||||
-rw-r--r-- | p2p/discover/table_util_test.go | 1 | ||||
-rw-r--r-- | p2p/discover/v4_udp.go | 1 |
3 files changed, 2 insertions, 1 deletions
diff --git a/p2p/discover/table.go b/p2p/discover/table.go index 8afe77bf1..61c62f187 100644 --- a/p2p/discover/table.go +++ b/p2p/discover/table.go @@ -119,7 +119,6 @@ func newTable(t transport, db *enode.DB, bootnodes []*enode.Node, log log.Logger tab.seedRand() tab.loadSeedNodes() - go tab.loop() return tab, nil } diff --git a/p2p/discover/table_util_test.go b/p2p/discover/table_util_test.go index 811466cf7..71cb1895b 100644 --- a/p2p/discover/table_util_test.go +++ b/p2p/discover/table_util_test.go @@ -42,6 +42,7 @@ func init() { func newTestTable(t transport) (*Table, *enode.DB) { db, _ := enode.OpenDB("") tab, _ := newTable(t, db, nil, log.Root()) + go tab.loop() return tab, db } diff --git a/p2p/discover/v4_udp.go b/p2p/discover/v4_udp.go index cdd42c38a..3c68beac1 100644 --- a/p2p/discover/v4_udp.go +++ b/p2p/discover/v4_udp.go @@ -253,6 +253,7 @@ func ListenV4(c UDPConn, ln *enode.LocalNode, cfg Config) (*UDPv4, error) { return nil, err } t.tab = tab + go tab.loop() t.wg.Add(2) go t.loop() |