Repository: thrift Updated Branches: refs/heads/master a175437f6 -> d9d512085
THRIFT-3237 Fix TNamedPipeServer::createNamedPipe memory leak Client: cpp Patch: PaweÅ Janicki & James E. King, III This closes #632 Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/d9d51208 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/d9d51208 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/d9d51208 Branch: refs/heads/master Commit: d9d51208549d0fe630791847b2904410c418d829 Parents: a175437 Author: Roger Meier <[email protected]> Authored: Sun Oct 11 09:13:37 2015 +0200 Committer: Roger Meier <[email protected]> Committed: Sun Oct 11 09:13:37 2015 +0200 ---------------------------------------------------------------------- lib/cpp/src/thrift/transport/TPipeServer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/d9d51208/lib/cpp/src/thrift/transport/TPipeServer.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TPipeServer.cpp b/lib/cpp/src/thrift/transport/TPipeServer.cpp index baa2603..7923102 100644 --- a/lib/cpp/src/thrift/transport/TPipeServer.cpp +++ b/lib/cpp/src/thrift/transport/TPipeServer.cpp @@ -351,12 +351,17 @@ bool TNamedPipeServer::createNamedPipe(const TAutoCrit & /*lockProof*/) { 0, // client time-out &sa)); // security attributes + DWORD lastError = GetLastError(); + LocalFree(sd); + LocalFree(acl); + FreeSid(everyone_sid); + if (hPipe.h == INVALID_HANDLE_VALUE) { Pipe_.reset(); - GlobalOutput.perror("TPipeServer::TCreateNamedPipe() GLE=", GetLastError()); + GlobalOutput.perror("TPipeServer::TCreateNamedPipe() GLE=", lastError); throw TTransportException(TTransportException::NOT_OPEN, "TCreateNamedPipe() failed", - GetLastError()); + lastError); return false; }
