mirror of
https://github.com/golang/sys.git
synced 2026-02-08 03:36:03 +03:00
windows/registry: mark string end with 0 before calling Windows ExpandEnvironmentStrings
Change-Id: I02bfcdeac44167d1dbeb15bcd5c82111fba3f527 Reviewed-on: https://go-review.googlesource.com/9234 Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
@@ -119,15 +119,13 @@ func ExpandString(value string) (string, error) {
|
||||
if value == "" {
|
||||
return "", nil
|
||||
}
|
||||
for i := 0; i < len(value); i++ {
|
||||
if value[i] == 0 {
|
||||
return "", errors.New("string cannot have 0 inside")
|
||||
}
|
||||
p, err := syscall.UTF16PtrFromString(value)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
p := utf16.Encode([]rune(value))
|
||||
r := make([]uint16, 100)
|
||||
for {
|
||||
n, err := expandEnvironmentStrings(&p[0], &r[0], uint32(len(r)))
|
||||
n, err := expandEnvironmentStrings(p, &r[0], uint32(len(r)))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user