summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorBrad Fitzpatrick <brad@danga.com>2020-10-19 10:10:17 -0700
committerBrad Fitzpatrick <brad@danga.com>2020-10-21 09:32:00 -0700
commit43e9f18404d075f24cf4899d0fa0d8a5be74d214 (patch)
treea29f0acdf5fccbe7431c8ae588ae96cc625c5406
parentAdd HDHITTESTINFO (diff)
downloadwireguard-windows-43e9f18404d075f24cf4899d0fa0d8a5be74d214.tar.xz
wireguard-windows-43e9f18404d075f24cf4899d0fa0d8a5be74d214.zip
Fix Go 1.15 checkptr failure; use golang.org/x/sys/windows.UTF16PtrToString
The UTF16PtrToString version in golang.org/x/sys/windows doesn't make slices pointing past the end of an allocation. Use it instead. This lets programs using lxn/win and built with Go's race detector get a bit further. Other race/checkptr issues with lxn/win and lxn/walk remain for subsequent changes. Signed-off-by: Brad Fitzpatrick <brad@danga.com>
-rw-r--r--AUTHORS6
-rw-r--r--go.mod2
-rw-r--r--win.go8
3 files changed, 7 insertions, 9 deletions
diff --git a/AUTHORS b/AUTHORS
index ccc26294..3b767637 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -13,11 +13,14 @@ Alexander Neumann <an2048@googlemail.com>
Aman Gupta <aman@tmm1.net>
Anton Lahti <antonlahti@gmail.com>
Benny Siegert <bsiegert@gmail.com>
+Brad Fitzpatrick <bradfitz@tailscale.com>
Bruno Bigras <bigras.bruno@gmail.com>
Carl Kittelberger <icedream@icedream.pw>
Carlos Cobo <toqueteos@gmail.com>
Cary Cherng <ccherng@gmail.com>
+Cory Redmond <ace@ac3-servers.eu>
David Porter <david@porter.me>
+Dmitry Bagdanov <dimbojob@gmail.com>
gonutz
Hill <zhubicen@gmail.com>
Jason A. Donenfeld <Jason@zx2c4.com>
@@ -29,6 +32,3 @@ ryujimiya <ryujimiya236@gmail.com>
Simon Rozman <simon@rozman.si>
Tiago Carvalho <sugoiuguu@tfwno.gf>
wsf01 <wf1337@sina.com>
-gonutz
-Cory Redmond <ace@ac3-servers.eu>
-Dmitry Bagdanov <dimbojob@gmail.com>
diff --git a/go.mod b/go.mod
index bda1929e..c765df89 100644
--- a/go.mod
+++ b/go.mod
@@ -2,4 +2,4 @@ module github.com/lxn/win
go 1.12
-require golang.org/x/sys v0.0.0-20190904154756-749cb33beabd
+require golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13
diff --git a/win.go b/win.go
index 43d07462..b8f00cd6 100644
--- a/win.go
+++ b/win.go
@@ -7,8 +7,9 @@
package win
import (
- "syscall"
"unsafe"
+
+ "golang.org/x/sys/windows"
)
const (
@@ -70,10 +71,7 @@ func HIWORD(dw uint32) uint16 {
}
func UTF16PtrToString(s *uint16) string {
- if s == nil {
- return ""
- }
- return syscall.UTF16ToString((*[1 << 29]uint16)(unsafe.Pointer(s))[0:])
+ return windows.UTF16PtrToString(s)
}
func MAKEINTRESOURCE(id uintptr) *uint16 {