From: Jason A. Donenfeld Date: Thu, 29 Aug 2019 01:31:20 +0000 (-0600) Subject: wintun: simplify rename logic X-Git-Tag: 0.0.20190908~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e862131d3cf56a5db53722648c04051c064b22a8;p=thirdparty%2Fwireguard-go.git wintun: simplify rename logic --- diff --git a/tun/wintun/wintun_windows.go b/tun/wintun/wintun_windows.go index b558fd6..5624525 100644 --- a/tun/wintun/wintun_windows.go +++ b/tun/wintun/wintun_windows.go @@ -568,12 +568,8 @@ func (wintun *Wintun) InterfaceName() (string, error) { func (wintun *Wintun) SetInterfaceName(ifname string) error { const maxSuffix = 1000 availableIfname := ifname -setloop: for i := 0; ; i++ { err := nci.SetConnectionName(&wintun.cfgInstanceID, availableIfname) - if err == nil { - break - } if err == windows.ERROR_DUP_NAME { duplicateGuid, err2 := iphlpapi.InterfaceGUIDFromAlias(availableIfname) if err2 == nil { @@ -589,13 +585,16 @@ setloop: if err2 == nil { err = nci.SetConnectionName(&wintun.cfgInstanceID, availableIfname) if err == nil { - break setloop + break } } break } } } + if err == nil { + break + } if i > maxSuffix || err != windows.ERROR_DUP_NAME { return fmt.Errorf("NciSetConnectionName failed: %v", err)