From b61e6df9f3ef2617af9cb81f32ec5256a1185d35 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Fri, 22 Mar 2002 01:15:33 +0000 Subject: - itojun@cvs.openbsd.org 2002/03/15 11:00:38 [auth.c] fix file type checking (use S_ISREG). ok by markus --- auth.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'auth.c') diff --git a/auth.c b/auth.c index 26dce5b67..de004515f 100644 --- a/auth.c +++ b/auth.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: auth.c,v 1.35 2002/03/01 13:12:10 markus Exp $"); +RCSID("$OpenBSD: auth.c,v 1.36 2002/03/15 11:00:38 itojun Exp $"); #ifdef HAVE_LOGIN_H #include @@ -110,7 +110,8 @@ allowed_user(struct passwd * pw) pw->pw_name, shell); return 0; } - if (!((st.st_mode & S_IFREG) && (st.st_mode & (S_IXOTH|S_IXUSR|S_IXGRP)))) { + if (S_ISREG(st.st_mode) == 0 || + (st.st_mode & (S_IXOTH|S_IXUSR|S_IXGRP)) == 0) { log("User %.100s not allowed because shell %.100s is not executable", pw->pw_name, shell); return 0; -- cgit v1.2.3