From cbe0913aa086ac18b7dfe2c51b3e86f0286feac0 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 31 May 2012 13:19:41 +0200 Subject: [PATCH] nfs4: Fix RPC::ServerManager release bug RPC::ServerManager did not check whether reference counter equals 0 before destroying RPC::Server object. --- src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp b/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp index 280be81a68..fed27887e6 100644 --- a/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/RPCServer.cpp @@ -304,15 +304,13 @@ ServerManager::Release(Server* serv) if (node != NULL) { node->fRefCount--; - if (node->fRefCount == 0) + if (node->fRefCount == 0) { _Delete(node); + delete node->fServer; + delete node; + } } mutex_unlock(&fLock); - - if (node != NULL) { - delete node->fServer; - delete node; - } }