diff options
author | dtucker@openbsd.org <dtucker@openbsd.org> | 2020-01-23 10:19:59 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2020-01-23 22:20:53 +1100 |
commit | ba247af8e9e302910e22881ef9d307a8afeef036 (patch) | |
tree | 02cc3111229fb84e4cee13888e12df601f2a2eb8 | |
parent | 74deb7029be4c00810443114aac9308875a81dae (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.sh | 10 |
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 |