diff options
Diffstat (limited to 'nxcomp')
-rw-r--r-- | nxcomp/src/ChannelEndPoint.cpp | 8 | ||||
-rw-r--r-- | nxcomp/src/Loop.cpp | 1 | ||||
-rw-r--r-- | nxcomp/src/Proxy.cpp | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/nxcomp/src/ChannelEndPoint.cpp b/nxcomp/src/ChannelEndPoint.cpp index 443c0f290..7768df137 100644 --- a/nxcomp/src/ChannelEndPoint.cpp +++ b/nxcomp/src/ChannelEndPoint.cpp @@ -207,7 +207,10 @@ ChannelEndPoint::getPort(long *port) const { bool ChannelEndPoint::getUnixPath(char **unixPath) const { - if (unixPath) *unixPath = NULL; + if (unixPath) + *unixPath = NULL; + else + return false; long p; char *path = NULL; @@ -227,8 +230,7 @@ ChannelEndPoint::getUnixPath(char **unixPath) const { return false; } - if (unixPath) - *unixPath = strdup(path); + *unixPath = strdup(path); return true; } diff --git a/nxcomp/src/Loop.cpp b/nxcomp/src/Loop.cpp index ab7ea5a0f..1e770380f 100644 --- a/nxcomp/src/Loop.cpp +++ b/nxcomp/src/Loop.cpp @@ -6661,6 +6661,7 @@ int ConnectToRemote(ChannelEndPoint &socketAddress) << "'.\n" << std::flush; SAFE_FREE(hostName); + SAFE_FREE(unixPath); if (socketAddress.getUnixPath(&unixPath)) result = PrepareProxyConnectionUnix(&unixPath, &connectTimeout, &pFD, &reason); diff --git a/nxcomp/src/Proxy.cpp b/nxcomp/src/Proxy.cpp index 71ea090e6..7f72fae3f 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 = NULL; + char *unixPath = NULL, *host = NULL; long port; if (endPoint.getUnixPath(&unixPath)) { |