From e8ef557a560f15c0133390e86288d17c2ad41114 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 3 Jan 2013 01:56:47 +0100 Subject: [PATCH] nfs4: Fix double delete rpc when WaitCall fails --- src/add-ons/kernel/file_systems/nfs4/Request.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Request.cpp b/src/add-ons/kernel/file_systems/nfs4/Request.cpp index 3924f3bc03..b4c4e43c24 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Request.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Request.cpp @@ -125,6 +125,9 @@ Request::_SendTCP(Cookie* cookie) } } while (result != B_OK && (hard || attempts++ < retryLimit)); + if (result != B_OK) + return result; + if (cookie != NULL) cookie->UnregisterRequest(rpc); @@ -133,11 +136,11 @@ Request::_SendTCP(Cookie* cookie) result = rpc->fError; delete rpc; return result; - } else { - fReply.SetTo(rpl); - delete rpc; - return B_OK; - }; + } + + fReply.SetTo(rpl); + delete rpc; + return B_OK; }