diff options
author | Casper H.S. Dik <Casper.Dik@Sun.COM> | 2009-05-20 10:46:07 +0200 |
---|---|---|
committer | Casper H.S. Dik <Casper.Dik@Sun.COM> | 2009-05-20 10:46:07 +0200 |
commit | 7a142be9307f4ef3f3dbe77bb364bea22cd33485 (patch) | |
tree | 2c85669da4c573f2eaa2799d80dea4bba32cc735 /usr/src/uts/common/syscall/access.c | |
parent | b0de01ca41d65f7e8fb07b234ed373daca1be8af (diff) | |
download | illumos-gate-7a142be9307f4ef3f3dbe77bb364bea22cd33485.tar.gz |
1187647 access(2) does not completely check the path according to real user
Diffstat (limited to 'usr/src/uts/common/syscall/access.c')
-rw-r--r-- | usr/src/uts/common/syscall/access.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/usr/src/uts/common/syscall/access.c b/usr/src/uts/common/syscall/access.c index 072cfb606d..c0ec42867d 100644 --- a/usr/src/uts/common/syscall/access.c +++ b/usr/src/uts/common/syscall/access.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -31,8 +31,6 @@ * under license from the Regents of the University of California. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/param.h> #include <sys/isa_defs.h> #include <sys/types.h> @@ -91,8 +89,8 @@ caccess(char *fname, int fmode, vnode_t *startvp) } lookup: - if (error = lookupnameat(fname, UIO_USERSPACE, FOLLOW, NULLVPP, &vp, - startvp)) { + if (error = lookupnameatcred(fname, UIO_USERSPACE, FOLLOW, NULLVPP, &vp, + startvp, tmpcr)) { if ((error == ESTALE) && fs_need_estale_retry(estale_retry++)) goto lookup; if (!eok) |