Skip to content

Commit dcfd76b

Browse files
committed
peerconn: fix forcetypeassert
1 parent 3621158 commit dcfd76b

File tree

1 file changed

+36
-5
lines changed

1 file changed

+36
-5
lines changed

peerconn/conn_manager.go

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,7 +1147,14 @@ func (p *PeerConnManager) InboundPeerConnected(conn net.Conn) {
11471147
return
11481148
}
11491149

1150-
nodePub := conn.(*brontide.Conn).RemotePub()
1150+
brontideConn, ok := conn.(*brontide.Conn)
1151+
if !ok {
1152+
connLog.Errorf("Unexpected conn type found in "+
1153+
"InboundPeerConnected: %v", conn)
1154+
return
1155+
}
1156+
1157+
nodePub := brontideConn.RemotePub()
11511158
pubStr := string(nodePub.SerializeCompressed())
11521159

11531160
p.mu.Lock()
@@ -1236,7 +1243,14 @@ func (p *PeerConnManager) OutboundPeerConnected(connReq *connmgr.ConnReq,
12361243
return
12371244
}
12381245

1239-
nodePub := conn.(*brontide.Conn).RemotePub()
1246+
brontideConn, ok := conn.(*brontide.Conn)
1247+
if !ok {
1248+
connLog.Errorf("Unexpected conn type found in "+
1249+
"OutboundPeerConnected: %v", conn)
1250+
return
1251+
}
1252+
1253+
nodePub := brontideConn.RemotePub()
12401254
pubStr := string(nodePub.SerializeCompressed())
12411255

12421256
p.mu.Lock()
@@ -1397,7 +1411,13 @@ func (p *PeerConnManager) cancelConnReqs(pubStr string, skip *uint64) {
13971411
func (p *PeerConnManager) peerConnected(conn net.Conn, connReq *connmgr.ConnReq,
13981412
inbound bool) {
13991413

1400-
brontideConn := conn.(*brontide.Conn)
1414+
brontideConn, ok := conn.(*brontide.Conn)
1415+
if !ok {
1416+
connLog.Errorf("Unexpected conn type found in peerConnected: "+
1417+
"%v", conn)
1418+
return
1419+
}
1420+
14011421
addr := conn.RemoteAddr()
14021422
pubKey := brontideConn.RemotePub()
14031423

@@ -1792,7 +1812,13 @@ func (p *PeerConnManager) connectToPersistentPeer(pubKeyStr string) {
17921812
// advertised addresses then remove that connection request.
17931813
var updatedConnReqs []*connmgr.ConnReq
17941814
for _, connReq := range p.persistentConnReqs[pubKeyStr] {
1795-
lnAddr := connReq.Addr.(*lnwire.NetAddress).Address.String()
1815+
wireAddr, ok := connReq.Addr.(*lnwire.NetAddress)
1816+
if !ok {
1817+
connLog.Errorf("Unexpected network address type %v",
1818+
connReq.Addr)
1819+
}
1820+
1821+
lnAddr := wireAddr.Address.String()
17961822

17971823
switch _, ok := addrMap[lnAddr]; ok {
17981824
// If the existing connection request is using one of the
@@ -2169,7 +2195,12 @@ func noiseDial(idKey keychain.SingleKeyECDH,
21692195
netCfg tor.Net, timeout time.Duration) func(net.Addr) (net.Conn, error) {
21702196

21712197
return func(a net.Addr) (net.Conn, error) {
2172-
lnAddr := a.(*lnwire.NetAddress)
2198+
lnAddr, ok := a.(*lnwire.NetAddress)
2199+
if !ok {
2200+
return nil, fmt.Errorf("Unexpected network address "+
2201+
"type %v", a)
2202+
}
2203+
21732204
return brontide.Dial(idKey, lnAddr, timeout, netCfg.Dial)
21742205
}
21752206
}

0 commit comments

Comments
 (0)