Переглянути джерело

Fix segfault in webui when there is no authorization wrapper (#197)

When wrap is nil but isLocal is false, we segfault when we attempt to wrap mux handlers.
Ori Livneh 7 роки тому
джерело
коміт
9277d67572
1 змінених файлів з 7 додано та 3 видалено
  1. 7
    3
      internal/driver/webui.go

+ 7
- 3
internal/driver/webui.go Переглянути файл

@@ -73,9 +73,13 @@ func serveWebInterface(hostport string, p *profile.Profile, o *plugin.Options) e
73 73
 
74 74
 	// authorization wrapper
75 75
 	wrap := o.HTTPWrapper
76
-	if wrap == nil && isLocal {
77
-		// Only allow requests from local host.
78
-		wrap = checkLocalHost
76
+	if wrap == nil {
77
+		if isLocal {
78
+			// Only allow requests from local host.
79
+			wrap = checkLocalHost
80
+		} else {
81
+			wrap = func(h http.Handler) http.Handler { return h }
82
+		}
79 83
 	}
80 84
 
81 85
 	mux := http.NewServeMux()