nfs4: Fix CID 991503: memory leak in handling callback requests

This commit is contained in:
Pawel Dziepak
2013-03-21 02:46:04 +01:00
parent 65389e2f2b
commit ce6f81f7b2
@@ -307,17 +307,17 @@ CallbackServer::ConnectionThread(ConnectionEntry* entry)
} }
CallbackRequest* request = new CallbackRequest(buffer, size); CallbackRequest* request = new CallbackRequest(buffer, size);
if (request == NULL || request->Error() != B_OK) { if (request == NULL) {
free(buffer); free(buffer);
continue; continue;
} else if (request != NULL && request->Error() != B_OK) { } else if (request->Error() != B_OK) {
reply = CallbackReply::Create(request->XID(), request->RPCError()); reply = CallbackReply::Create(request->XID(), request->RPCError());
if (reply != NULL) { if (reply != NULL) {
connection->Send(reply->Stream().Buffer(), connection->Send(reply->Stream().Buffer(),
reply->Stream().Size()); reply->Stream().Size());
delete reply; delete reply;
} }
free(buffer); delete request;
continue; continue;
} }
@@ -335,7 +335,7 @@ CallbackServer::ConnectionThread(ConnectionEntry* entry)
} }
default: default:
free(buffer); delete request;
} }
} }