From 4c64bd932c634e7115a88d494de083dca7c9e20d Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 14 Feb 2013 01:43:17 +0100 Subject: [PATCH] nfs4: Fix wrong cast in nfs4_rename --- .../kernel/file_systems/nfs4/kernel_interface.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp index 6e365082ba..b3366cf4fc 100644 --- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp @@ -636,11 +636,16 @@ nfs4_rename(fs_volume* volume, fs_vnode* fromDir, const char* fromName, if (result != B_OK) return result; - Inode* child; - result = get_vnode(volume, id, reinterpret_cast(&child)); + VnodeToInode* vti; + result = get_vnode(volume, id, reinterpret_cast(&vti)); if (result == B_OK) { - unremove_vnode(volume, id); + Inode* child = vti->Get(); + if (child == NULL) { + put_vnode(volume, id); + return B_ENTRY_NOT_FOUND; + } + unremove_vnode(volume, id); child->fInfo.fParent = toInode->fInfo.fHandle; child->fInfo.CreateName(toInode->fInfo.fPath, toName); put_vnode(volume, id);