mirror of
https://github.com/rwinkhart/go-winio.git
synced 2026-09-05 16:47:31 -04:00
Handle long paths correctly in reparse points
This commit is contained in:
+1
-1
@@ -80,7 +80,7 @@ func EncodeReparsePoint(rp *ReparsePoint) []byte {
|
|||||||
var ntTarget string
|
var ntTarget string
|
||||||
relative := false
|
relative := false
|
||||||
if strings.HasPrefix(rp.Target, `\\?\`) {
|
if strings.HasPrefix(rp.Target, `\\?\`) {
|
||||||
ntTarget = rp.Target
|
ntTarget = `\??\` + rp.Target[4:]
|
||||||
} else if strings.HasPrefix(rp.Target, `\\`) {
|
} else if strings.HasPrefix(rp.Target, `\\`) {
|
||||||
ntTarget = `\??\UNC\` + rp.Target[2:]
|
ntTarget = `\??\UNC\` + rp.Target[2:]
|
||||||
} else if len(rp.Target) >= 2 && isDriveLetter(rp.Target[0]) && rp.Target[1] == ':' {
|
} else if len(rp.Target) >= 2 && isDriveLetter(rp.Target[0]) && rp.Target[1] == ':' {
|
||||||
|
|||||||
Reference in New Issue
Block a user