Browse Source

fix ecdh crash in reality

hossinasaadi 1 year ago
parent
commit
b7f21be8bc
1 changed files with 4 additions and 1 deletions
  1. 4 1
      transport/internet/reality/reality.go

+ 4 - 1
transport/internet/reality/reality.go

@@ -136,7 +136,10 @@ func UClient(c net.Conn, config *Config, ctx context.Context, dest net.Destinati
 		if config.Show {
 			newError(fmt.Sprintf("REALITY localAddr: %v\thello.SessionId[:16]: %v\n", localAddr, hello.SessionId[:16])).WriteToLog(session.ExportIDToError(ctx))
 		}
-		publicKey, _ := ecdh.X25519().NewPublicKey(config.PublicKey)
+		publicKey, err := ecdh.X25519().NewPublicKey(config.PublicKey)
+		if err != nil {
+			return nil, errors.New("REALITY: publicKey == nil")
+		}
 		uConn.AuthKey, _ = uConn.HandshakeState.State13.EcdheKey.ECDH(publicKey)
 		if uConn.AuthKey == nil {
 			return nil, errors.New("REALITY: SharedKey == nil")