aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cpp
diff options
context:
space:
mode:
authorGravatar yang-g <yangg@google.com>2015-06-23 14:37:15 -0700
committerGravatar yang-g <yangg@google.com>2015-06-23 14:37:15 -0700
commita58cab30b2e47f1efdad8cd78b820e818ba30fbb (patch)
tree3883d7eab3a76b17a0182c7c4c5639d5d3835aab /src/cpp
parent3deb0069f4861451fc174859c293ddafcad648a9 (diff)
release memory even if the status is false
Diffstat (limited to 'src/cpp')
-rw-r--r--src/cpp/server/server.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc
index 4c44d9ec50..f930dbb2b8 100644
--- a/src/cpp/server/server.cc
+++ b/src/cpp/server/server.cc
@@ -369,11 +369,12 @@ Server::GenericAsyncRequest::GenericAsyncRequest(
bool Server::GenericAsyncRequest::FinalizeResult(void** tag, bool* status) {
// TODO(yangg) remove the copy here.
if (*status) {
- static_cast<GenericServerContext*>(context_)->method_ = call_details_.method;
+ static_cast<GenericServerContext*>(context_)->method_ =
+ call_details_.method;
static_cast<GenericServerContext*>(context_)->host_ = call_details_.host;
- gpr_free(call_details_.method);
- gpr_free(call_details_.host);
}
+ gpr_free(call_details_.method);
+ gpr_free(call_details_.host);
return BaseAsyncRequest::FinalizeResult(tag, status);
}