summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/host/util_unsafe.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/fs/host/util_unsafe.go')
-rw-r--r--pkg/sentry/fs/host/util_unsafe.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/sentry/fs/host/util_unsafe.go b/pkg/sentry/fs/host/util_unsafe.go
index c38d2392d..2ecb54319 100644
--- a/pkg/sentry/fs/host/util_unsafe.go
+++ b/pkg/sentry/fs/host/util_unsafe.go
@@ -23,6 +23,9 @@ import (
ktime "gvisor.googlesource.com/gvisor/pkg/sentry/kernel/time"
)
+// NulByte is a single NUL byte. It is passed to readlinkat as an empty string.
+var NulByte byte = '\x00'
+
func createLink(fd int, name string, linkName string) error {
namePtr, err := syscall.BytePtrFromString(name)
if err != nil {
@@ -50,7 +53,7 @@ func readLink(fd int) (string, error) {
n, _, errno := syscall.Syscall6(
syscall.SYS_READLINKAT,
uintptr(fd),
- uintptr(unsafe.Pointer(syscall.StringBytePtr(""))),
+ uintptr(unsafe.Pointer(&NulByte)), // ""
uintptr(unsafe.Pointer(&b[0])),
uintptr(l),
0, 0)