aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2019-05-13 18:31:45 +0800
committerGitHub <noreply@github.com>2019-05-13 18:31:45 +0800
commita0b81097ad8eb65745b00ca2ec2c55fa4dde2ac7 (patch)
tree56f5ddeed2c32b2723333dee340883dc96c8bafa
parentec2131c8d3382db3762909a8e7d225be61bae230 (diff)
parent95263914fcc6631aedc7294624ae39c2adf3cb5f (diff)
downloadgo-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.go1
-rw-r--r--p2p/discover/table_util_test.go1
-rw-r--r--p2p/discover/v4_udp.go1
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()