summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2020-01-23 10:19:59 +0000
committerDarren Tucker <dtucker@dtucker.net>2020-01-23 22:20:53 +1100
commitba247af8e9e302910e22881ef9d307a8afeef036 (patch)
tree02cc3111229fb84e4cee13888e12df601f2a2eb8
parent74deb7029be4c00810443114aac9308875a81dae (diff)
upstream: When checking for unsafe directories, ignore non-directories
(ie symlinks, where permissions are not relevant). OpenBSD-Regress-ID: fb6cfc8b022becb62b2dcb99ed3f072b3326e501
-rw-r--r--regress/test-exec.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index c26e47f7..f17f9493 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: test-exec.sh,v 1.71 2020/01/23 03:42:41 dtucker Exp $
+# $OpenBSD: test-exec.sh,v 1.72 2020/01/23 10:19:59 dtucker Exp $
# Placed in the Public Domain.
#SUDO=sudo
@@ -449,10 +449,12 @@ else
unsafe=""
dir="${OBJ}"
while test ${dir} != "/"; do
- perms=`ls -ld ${dir}`
- case "${perms}" in
+ if test -d "${dir}" ; then
+ perms=`ls -ld ${dir}`
+ case "${perms}" in
?????w????*|????????w?*) unsafe="${unsafe} ${dir}" ;;
- esac
+ esac
+ fi
dir=`dirname ${dir}`
done
if ! test -z "${unsafe}"; then