aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2023-06-12 10:58:39 -0400
committerMike Gilbert <floppym@gentoo.org>2023-06-12 12:00:04 -0400
commitcdc89a00ac0bc3170d4ca7bfc77bc2572ce076b0 (patch)
treea54daaf153a5ff7356735a4160112f425deb5c12
parentbuild: Fix libc path configure test for mold (diff)
downloadsandbox-cdc89a00ac0bc3170d4ca7bfc77bc2572ce076b0.tar.gz
sandbox-cdc89a00ac0bc3170d4ca7bfc77bc2572ce076b0.tar.bz2
sandbox-cdc89a00ac0bc3170d4ca7bfc77bc2572ce076b0.zip
libsandbox: add lutimes to symlink_func
lutimes operates on symlinks, so we should not check for access against the symlink target. Bug: https://bugs.gentoo.org/908105 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
-rw-r--r--libsandbox/libsandbox.c1
-rwxr-xr-xtests/lutimes-1.sh9
-rw-r--r--tests/lutimes.at1
3 files changed, 11 insertions, 0 deletions
diff --git a/libsandbox/libsandbox.c b/libsandbox/libsandbox.c
index 0ca2bc9..b9ef52e 100644
--- a/libsandbox/libsandbox.c
+++ b/libsandbox/libsandbox.c
@@ -679,6 +679,7 @@ static bool symlink_func(int sb_nr, int flags)
sb_nr == SB_NR_LCHOWN ||
sb_nr == SB_NR_LREMOVEXATTR ||
sb_nr == SB_NR_LSETXATTR ||
+ sb_nr == SB_NR_LUTIMES ||
sb_nr == SB_NR_REMOVE ||
sb_nr == SB_NR_RENAME ||
sb_nr == SB_NR_RENAMEAT ||
diff --git a/tests/lutimes-1.sh b/tests/lutimes-1.sh
new file mode 100755
index 0000000..8638bb2
--- /dev/null
+++ b/tests/lutimes-1.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+addwrite "${PWD}"
+
+sym="lutimes-1.sym"
+ln -s /bad/path "${sym}"
+
+lutimes-0 0 "${sym}" NULL || exit 1
+lutimes-0 -1,EACCES /bin/sh NULL || exit 1
diff --git a/tests/lutimes.at b/tests/lutimes.at
new file mode 100644
index 0000000..081d7d2
--- /dev/null
+++ b/tests/lutimes.at
@@ -0,0 +1 @@
+SB_CHECK(1)