Fixing memory leak on getRemoteAddress calls

GetRemoteAddress returns a char array which needs to be deleted by
the caller.

Change-Id: I379b3efca6620e8f8f2f63a8218cc83765020ac7

git-svn-id: https://svn.apache.org/repos/asf/etch/trunk@1578894 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/binding-cpp/runtime/src/main/transport/EtchTcpConnection.cpp b/binding-cpp/runtime/src/main/transport/EtchTcpConnection.cpp
index 3222b91..6c073ca 100644
--- a/binding-cpp/runtime/src/main/transport/EtchTcpConnection.cpp
+++ b/binding-cpp/runtime/src/main/transport/EtchTcpConnection.cpp
@@ -138,6 +138,8 @@
       status_t result = mSocket->getRemoteAddress(&remoteAddress);
 
       ETCH_LOG_DEBUG(mRuntime->getLogger(), mRuntime->getLogger().getTransportContext(), mHost.c_str() << ":" << mPort << " => Connection established to remote " << remoteAddress);
+      delete[] remoteAddress;
+
       return ETCH_OK;
     } else {
       mSocket->close();
diff --git a/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp b/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp
index fe48cba..eca2f34 100644
--- a/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp
+++ b/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp
@@ -152,6 +152,7 @@
       capu::char_t* remoteAddress = NULL;
       status_t result = s->getRemoteAddress(&remoteAddress);
       ETCH_LOG_DEBUG(mRuntime->getLogger(), mRuntime->getLogger().getTransportContext(), "A new connection from " << remoteAddress << " has been accepted");
+      delete[] remoteAddress;
       mSession->sessionAccepted(s);
     } else {
       delete s;