diff options
author | 2002-03-15 11:00:38 +0000 | |
---|---|---|
committer | 2002-03-15 11:00:38 +0000 | |
commit | 4eb39a2e803e2d7351f8da42ec553d27eaa60219 (patch) | |
tree | 1da87f7b646a23d51e32f2502abc821cc8ddb3cb /usr.bin/ssh/auth.c | |
parent | have a real lock around IPv6 reassembly. (diff) | |
download | wireguard-openbsd-4eb39a2e803e2d7351f8da42ec553d27eaa60219.tar.xz wireguard-openbsd-4eb39a2e803e2d7351f8da42ec553d27eaa60219.zip |
fix file type checking (use S_ISREG). ok by markus
Diffstat (limited to 'usr.bin/ssh/auth.c')
-rw-r--r-- | usr.bin/ssh/auth.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/ssh/auth.c b/usr.bin/ssh/auth.c index 6e29d662e78..d5c482a9751 100644 --- a/usr.bin/ssh/auth.c +++ b/usr.bin/ssh/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 $"); #include <libgen.h> @@ -76,7 +76,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; |