setupapi: safer aliasing of slice types

This commit is contained in:
Jason A. Donenfeld
2019-05-03 09:34:00 +02:00
parent 2e988467c2
commit 81ca08f1b3
5 changed files with 40 additions and 23 deletions

View File

@@ -6,6 +6,7 @@
package setupapi
import (
"runtime"
"strings"
"syscall"
"testing"
@@ -471,7 +472,7 @@ func TestSetupDiGetSelectedDevice(t *testing.T) {
func TestUTF16ToBuf(t *testing.T) {
buf := []uint16{0x0123, 0x4567, 0x89ab, 0xcdef}
buf2 := UTF16ToBuf(buf)
buf2 := utf16ToBuf(buf)
if len(buf)*2 != len(buf2) ||
cap(buf)*2 != cap(buf2) ||
buf2[0] != 0x23 || buf2[1] != 0x01 ||
@@ -480,4 +481,5 @@ func TestUTF16ToBuf(t *testing.T) {
buf2[6] != 0xef || buf2[7] != 0xcd {
t.Errorf("SetupDiSetSelectedDevice(nil) should fail with ERROR_INVALID_USER_BUFFER")
}
runtime.KeepAlive(buf)
}