Bläddra i källkod

lib/stun: Prevent nil deref when naming service (#7872)

Simon Frei 4 år sedan
förälder
incheckning
e61091d240
1 ändrade filer med 7 tillägg och 1 borttagningar
  1. 7 1
      lib/stun/stun.go

+ 7 - 1
lib/stun/stun.go

@@ -107,8 +107,14 @@ func New(cfg config.Wrapper, subscriber Subscriber, conn *net.UDPConn) (*Service
 	client.SetSoftwareName("") // Explicitly unset this, seems to freak some servers out.
 
 	// Return the service and the other conn to the client
+	name := "Stun@"
+	if local := conn.LocalAddr(); local != nil {
+		name += local.Network() + "://" + local.String()
+	} else {
+		name += "unknown"
+	}
 	s := &Service{
-		name: "Stun@" + conn.LocalAddr().Network() + "://" + conn.LocalAddr().String(),
+		name: name,
 
 		cfg:        cfg,
 		subscriber: subscriber,