vfs: fix possible use-after-free

This commit is contained in:
Matheus
2026-09-28 10:41:47 -03:00
parent 4500f1f3ec
commit 2867889202
+4 -3
View File
@@ -231,15 +231,16 @@ int vfs_open(vnode_t *ref, char *path, int flags, vnode_t **res) {
vnode_t *new = tmp; vnode_t *new = tmp;
err = VOP_OPEN(&new, flags, getcred()); err = VOP_OPEN(&new, flags, getcred());
// locked by vfs_lookup
VOP_UNLOCK(tmp);
if (err) { if (err) {
VOP_RELEASE(tmp); VOP_RELEASE(tmp);
} else { } else {
*res = new != tmp ? new : tmp; *res = new != tmp ? new : tmp;
} }
// locked by vfs_lookup
VOP_UNLOCK(tmp);
return err; return err;
} }