mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-01 06:46:44 -04: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 == "" {
|
if value == "" {
|
||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
for i := 0; i < len(value); i++ {
|
p, err := syscall.UTF16PtrFromString(value)
|
||||||
if value[i] == 0 {
|
if err != nil {
|
||||||
return "", errors.New("string cannot have 0 inside")
|
return "", err
|
||||||
}
|
|
||||||
}
|
}
|
||||||
p := utf16.Encode([]rune(value))
|
|
||||||
r := make([]uint16, 100)
|
r := make([]uint16, 100)
|
||||||
for {
|
for {
|
||||||
n, err := expandEnvironmentStrings(&p[0], &r[0], uint32(len(r)))
|
n, err := expandEnvironmentStrings(p, &r[0], uint32(len(r)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user