kernel/file_cache: fix VMCache object leak
Fixes #18039.
Change-Id: Ia3cda69f91e56efb36931a97028378ec3ceb2100
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5801
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
(cherry picked from commit 8be7c1aa586ca475ef6e2ee0a58d0d8f3932c550)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5778
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Diff
src/system/kernel/cache/file_cache.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -959,8 +959,10 @@
VMCache* cache;
if (vfs_get_vnode_cache(vnode, &cache, false) != B_OK)
return;
if (cache->type != CACHE_TYPE_VNODE)
if (cache->type != CACHE_TYPE_VNODE) {
cache->ReleaseRef();
return;
}
file_cache_ref* ref = ((VMVnodeCache*)cache)->FileCacheRef();
off_t fileSize = cache->virtual_end;