summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-10-06 20:53:03 +0000
committerLibravatar GitHub <noreply@github.com>2024-10-06 20:53:03 +0000
commitbd1866ad8a860e1b6d43c7fc988cf8c346f19f33 (patch)
tree6726f95b30b73baa4e5a7feed5c0b41bf46116db /vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go
parent[chore/themes] Tweak colors on new themes (#3397) (diff)
downloadgotosocial-bd1866ad8a860e1b6d43c7fc988cf8c346f19f33.tar.xz
update go-ffmpreg to v0.3.1 (pulls in latest wazero too) (#3398)
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go b/vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go
index ff93415b9..a949bd54d 100644
--- a/vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go
+++ b/vendor/github.com/tetratelabs/wazero/internal/sysfs/dirfs_supported.go
@@ -5,6 +5,7 @@ package sysfs
import (
"io/fs"
"os"
+ "path"
experimentalsys "github.com/tetratelabs/wazero/experimental/sys"
)
@@ -34,6 +35,11 @@ func (d *dirFS) Chmod(path string, perm fs.FileMode) experimentalsys.Errno {
// Symlink implements the same method as documented on sys.FS
func (d *dirFS) Symlink(oldName, link string) experimentalsys.Errno {
+ // Creating a symlink with an absolute path string fails with a "not permitted" error.
+ // https://github.com/WebAssembly/wasi-filesystem/blob/v0.2.0/path-resolution.md#symlinks
+ if path.IsAbs(oldName) {
+ return experimentalsys.EPERM
+ }
// Note: do not resolve `oldName` relative to this dirFS. The link result is always resolved
// when dereference the `link` on its usage (e.g. readlink, read, etc).
// https://github.com/bytecodealliance/cap-std/blob/v1.0.4/cap-std/src/fs/dir.rs#L404-L409