From: dtucker@openbsd.org Date: Thu, 23 Jan 2020 10:19:59 +0000 (+0000) Subject: upstream: When checking for unsafe directories, ignore non-directories X-Git-Tag: V_8_2_P1~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba247af8e9e302910e22881ef9d307a8afeef036;p=thirdparty%2Fopenssh-portable.git upstream: When checking for unsafe directories, ignore non-directories (ie symlinks, where permissions are not relevant). OpenBSD-Regress-ID: fb6cfc8b022becb62b2dcb99ed3f072b3326e501 --- diff --git a/regress/test-exec.sh b/regress/test-exec.sh index c26e47f7f..f17f9493d 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