summaryrefslogtreecommitdiffstats
path: root/stdlib/path-test.tl
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/path-test.tl')
-rw-r--r--stdlib/path-test.tl5
1 files changed, 3 insertions, 2 deletions
diff --git a/stdlib/path-test.tl b/stdlib/path-test.tl
index 55b5e842..ceb83c3a 100644
--- a/stdlib/path-test.tl
+++ b/stdlib/path-test.tl
@@ -222,8 +222,9 @@
(if (> (inc count) 16)
(throwf 'file-error "~a: too many symbolic links"
'path-components-safe))
- (if (or (zerop st.uid)
- (eql st.uid (geteuid)))
+ (if (and (eql 1 st.nlink)
+ (or (zerop st.uid)
+ (eql st.uid (geteuid))))
(let* ((target (readlink nxpath))
(abs-p (abs-path-p target))
(tcomps (remqual "" (sspl path-sep-chars target))))