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);