bindfs_lookup(): Don't leak source child vnode reference

This commit is contained in:
Ingo Weinhold
2013-11-26 01:59:39 +01:00
parent 0494f8a6f0
commit 8e7ee8f0d9
@@ -141,7 +141,14 @@ bindfs_lookup(fs_volume* fsVolume, fs_vnode* fsDir, const char* entryName,
if (error != B_OK)
RETURN_ERROR(error);
return get_vnode(fsVolume, *_vnid, NULL);
error = get_vnode(fsVolume, *_vnid, NULL);
// lookup() on the source gave us a reference we don't need any longer
vnode* sourceChildVnode;
if (vfs_lookup_vnode(sourceVolume->id, *_vnid, &sourceChildVnode) == B_OK)
vfs_put_vnode(sourceChildVnode);
return error;
}