nfs4: Fix CID 991756: do not delete RPC::Request if (re)sending fails
This commit is contained in:
parent
edb1255117
commit
b6868c6e78
@ -161,7 +161,10 @@ Server::SendCallAsync(Call* call, Reply** reply, Request** request)
|
||||
fRequests.AddRequest(req);
|
||||
|
||||
*request = req;
|
||||
return ResendCallAsync(call, req);
|
||||
status_t error = ResendCallAsync(call, req);
|
||||
if (error != B_OK)
|
||||
delete req;
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
@ -173,7 +176,6 @@ Server::ResendCallAsync(Call* call, Request* request)
|
||||
|
||||
if (fThreadError != B_OK && Repair() != B_OK) {
|
||||
fRequests.FindRequest(request->fXID);
|
||||
delete request;
|
||||
return fThreadError;
|
||||
}
|
||||
|
||||
@ -181,7 +183,6 @@ Server::ResendCallAsync(Call* call, Request* request)
|
||||
status_t result = fConnection->Send(stream.Buffer(), stream.Size());
|
||||
if (result != B_OK) {
|
||||
fRequests.FindRequest(request->fXID);
|
||||
delete request;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -56,6 +56,7 @@ Request::_SendUDP(Cookie* cookie)
|
||||
if (result != B_OK) {
|
||||
if (cookie != NULL)
|
||||
cookie->UnregisterRequest(rpc);
|
||||
delete rpc;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user