Просмотр исходного кода

Fix: nil pointer dereference

* SplitTunnelClassifier referenced tunnel.session
  even when nil (for example, in DisableApi mode)
* With nil check, split tunnel mode will simply not
  start when there is no session
Rod Hynes 11 лет назад
Родитель
Сommit
bf3f5ca9b7
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      psiphon/splitTunnel.go

+ 5 - 0
psiphon/splitTunnel.go

@@ -114,6 +114,11 @@ func (classifier *SplitTunnelClassifier) Start(fetchRoutesTunnel *Tunnel) {
 		return
 	}
 
+	if fetchRoutesTunnel.session == nil {
+		// Tunnel has no session
+		return
+	}
+
 	if fetchRoutesTunnel.session.clientRegion == "" {
 		// Split tunnel region is unknown
 		return