diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-07-06 15:42:52 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-07-27 17:34:31 +0000 |
| commit | ee4316c0c3575948bb6d8eb654b07932ba51736f (patch) | |
| tree | b2e3a1f5fd807d1da486b76d65ca1732c9f13f68 | |
| parent | 54dd524f0ba7d3c0d6b76ed00b0faf4d71803532 (diff) | |
vfs: Fix resource leaks in kern_symlinkat()
Fixes: 2ec2ba7e232d ("vfs: Add VFS/syscall support for Solaris style extended attributes")
Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li,
and Ke Xu from Tsinghua University using GLM-5.2 from Z.ai
Reviewed by: rmacklem, kib
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58053
(cherry picked from commit 58c73727d6e49de1fc4f4bc90621146cae8db2bc)
| -rw-r--r-- | sys/kern/vfs_syscalls.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index a6f513b719ba..c27671bcfc28 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -1882,7 +1882,7 @@ restart: } if ((vn_irflag_read(nd.ni_dvp) & VIRF_NAMEDDIR) != 0) { error = EINVAL; - goto out; + goto out2; } VATTR_NULL(&vattr); vattr.va_mode = ACCESSPERMS &~ td->td_proc->p_pd->pd_cmask; @@ -1894,9 +1894,7 @@ restart: goto out2; #endif error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath); -#ifdef MAC out2: -#endif VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); vn_finished_write(mp); NDFREE_PNBUF(&nd); |
