audit_canon_path_vp: don't panic if cdir == NULL
cdir may have simply failed to resolve (e.g. fget_cap failure in namei leading to NULL dp passed to AUDIT_ARG_UPATH*_VP); restore the pre-rS358191 behavior of setting cpath[0] = '\0' and bailing out instead of panicking. This was found by inadvertently running the libc/c063 tests with auditing enabled, resulting in a panic. Reviewed by: mjg (committed version actually his) Differential Revision: https://reviews.freebsd.org/D24445
This commit is contained in:
parent
44d5b1237f
commit
8182e5f2cf
@ -433,10 +433,15 @@ audit_canon_path_vp(struct thread *td, struct vnode *rdir, struct vnode *cdir,
|
||||
__func__, __FILE__, __LINE__);
|
||||
|
||||
copy = path;
|
||||
if (*path == '/')
|
||||
if (*path == '/') {
|
||||
vp = rdir;
|
||||
else
|
||||
} else {
|
||||
if (cdir == NULL) {
|
||||
cpath[0] = '\0';
|
||||
return;
|
||||
}
|
||||
vp = cdir;
|
||||
}
|
||||
MPASS(vp != NULL);
|
||||
/*
|
||||
* NB: We require that the supplied array be at least MAXPATHLEN bytes
|
||||
|
Loading…
Reference in New Issue
Block a user