svn commit: r360031 - head/sys/security/audit
Kyle Evans
kevans at FreeBSD.org
Fri Apr 17 02:09:31 UTC 2020
Author: kevans
Date: Fri Apr 17 02:09:31 2020
New Revision: 360031
URL: https://svnweb.freebsd.org/changeset/base/360031
Log:
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
Modified:
head/sys/security/audit/audit_bsm_klib.c
Modified: head/sys/security/audit/audit_bsm_klib.c
==============================================================================
--- head/sys/security/audit/audit_bsm_klib.c Fri Apr 17 01:52:27 2020 (r360030)
+++ head/sys/security/audit/audit_bsm_klib.c Fri Apr 17 02:09:31 2020 (r360031)
@@ -433,10 +433,15 @@ audit_canon_path_vp(struct thread *td, struct vnode *r
__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
More information about the svn-src-all
mailing list