From 90028f7939e554ee075033fce731626891309247 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Mon, 29 Jan 2024 14:21:49 -0800 Subject: [PATCH] syscall: fix O_NOFOLLOW inverted logic --- src/syscall/libc_wasip2.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/syscall/libc_wasip2.go b/src/syscall/libc_wasip2.go index 917c2ea8bc..5dd622c171 100644 --- a/src/syscall/libc_wasip2.go +++ b/src/syscall/libc_wasip2.go @@ -592,7 +592,8 @@ func open(pathname *byte, flags int32, mode uint32) int32 { // By default, follow symlinks for open() unless O_NOFOLLOW was passed var pflags types.PathFlags = types.PathFlagsSymlinkFollow - if flags&O_NOFOLLOW == 0 { // FIXME(ydnar): is == 0 right? + if flags&O_NOFOLLOW == O_NOFOLLOW { + // O_NOFOLLOW was passed, so turn off SymlinkFollow pflags &^= types.PathFlagsSymlinkFollow }