net/interfaces: ignore bogus proxy URLs from winhttp [windows]

Updates tailscale/corp#853
This commit is contained in:
Brad Fitzpatrick 2020-11-10 11:30:05 -08:00
parent d21956436a
commit d192bd0f86

View File

@ -7,6 +7,7 @@
import (
"fmt"
"log"
"net/url"
"os/exec"
"syscall"
"unsafe"
@ -176,7 +177,12 @@ func getPACWindows() string {
return ""
}
defer globalFree.Call(uintptr(unsafe.Pointer(res)))
return windows.UTF16PtrToString(res)
s := windows.UTF16PtrToString(res)
if _, err := url.Parse(s); err != nil {
log.Printf("getPACWindows: invalid URL %q from winhttp; ignoring", s)
return ""
}
return s
}
const (
ERROR_WINHTTP_AUTODETECTION_FAILED = 12180