summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/c2/audit.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/usr/src/uts/common/c2/audit.c b/usr/src/uts/common/c2/audit.c
index 66b0e4a3ff..fa010e1d24 100644
--- a/usr/src/uts/common/c2/audit.c
+++ b/usr/src/uts/common/c2/audit.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -1349,11 +1349,18 @@ audit_setfsat_path(int argnum)
tad->tad_atpath = NULL;
}
if (fd != AT_FDCWD) {
- if ((fp = getf(fd)) == NULL)
+ if ((fp = getf(fd)) == NULL) {
+ tad->tad_ctrl |= PAD_NOPATH;
return;
+ }
fad = F2A(fp);
ASSERT(fad);
+ if (fad->fad_aupath == NULL) {
+ tad->tad_ctrl |= PAD_NOPATH;
+ releasef(fd);
+ return;
+ }
au_pathhold(fad->fad_aupath);
tad->tad_atpath = fad->fad_aupath;
releasef(fd);