[X2Go-Commits] [nx-libs] 13/19: ChannelEndPoint.cpp: fix another memleak
git-admin at x2go.org
git-admin at x2go.org
Sat Dec 30 03:35:16 CET 2017
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch 3.6.x
in repository nx-libs.
commit eae64c4a4282eb2b511ba11c6db51d00a3b49833
Author: Ulrich Sibiller <uli42 at gmx.de>
Date: Wed Dec 27 17:06:43 2017 +0100
ChannelEndPoint.cpp: fix another memleak
==7689== 50 bytes in 5 blocks are definitely lost in loss record 1 of 2
==7689== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7689== by 0x54074D9: strndup (strndup.c:43)
==7689== by 0x4E7D803: ChannelEndPoint::getTCPHostAndPort(char**, long*) const (ChannelEndPoint.cpp:309)
==7689== by 0x4EC9D93: ConnectToRemote(ChannelEndPoint&) [clone .constprop.144] (Loop.cpp:6660)
==7689== by 0x4ECB94E: SetupProxyConnection() (Loop.cpp:3204)
==7689== by 0x4ECE824: handleNegotiationInLoop(int&, fd_set&, fd_set&, timeval&) [clone .isra.129] (Loop.cpp:14312)
==7689== by 0x4ED0F8A: NXTransPrepare (Loop.cpp:2575)
==7689== by 0x4ED1C35: NXTransContinue (Loop.cpp:1609)
==7689== by 0x4ED1D7B: WaitCleanup() (Loop.cpp:4440)
==7689== by 0x4ED2343: NXTransProxy (Loop.cpp:1234)
==7689== by 0x400B2A: main (Main.c:111)
---
nxcomp/src/ChannelEndPoint.cpp | 6 ++++--
nxcomp/src/Loop.cpp | 2 ++
nxcomp/src/Proxy.cpp | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/nxcomp/src/ChannelEndPoint.cpp b/nxcomp/src/ChannelEndPoint.cpp
index 2abc0ee..de88183 100644
--- a/nxcomp/src/ChannelEndPoint.cpp
+++ b/nxcomp/src/ChannelEndPoint.cpp
@@ -273,8 +273,10 @@ ChannelEndPoint::getTCPHostAndPort(char **host, long *port) const {
char *h = NULL;
ssize_t h_len;
- if (host) *host = NULL;
- if (port) *port = 0;
+ if (host)
+ *host = NULL;
+ if (port)
+ *port = 0;
if (getPort(&p)) {
h_len = 0;
diff --git a/nxcomp/src/Loop.cpp b/nxcomp/src/Loop.cpp
index 3ee094e..ab7ea5a 100644
--- a/nxcomp/src/Loop.cpp
+++ b/nxcomp/src/Loop.cpp
@@ -6660,6 +6660,8 @@ int ConnectToRemote(ChannelEndPoint &socketAddress)
<< " in process with pid '" << getpid()
<< "'.\n" << std::flush;
+ SAFE_FREE(hostName);
+
if (socketAddress.getUnixPath(&unixPath))
result = PrepareProxyConnectionUnix(&unixPath, &connectTimeout, &pFD, &reason);
else if (socketAddress.getTCPHostAndPort(&hostName, &portNum))
diff --git a/nxcomp/src/Proxy.cpp b/nxcomp/src/Proxy.cpp
index 963ae3d..71ea090 100644
--- a/nxcomp/src/Proxy.cpp
+++ b/nxcomp/src/Proxy.cpp
@@ -6123,7 +6123,7 @@ int Proxy::handleNewSlaveConnection(int clientFd)
int Proxy::handleNewGenericConnectionFromProxy(int channelId, T_channel_type type,
ChannelEndPoint &endPoint, const char *label)
{
- char *unixPath, *host;
+ char *unixPath, *host = NULL;
long port;
if (endPoint.getUnixPath(&unixPath)) {
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
More information about the x2go-commits
mailing list