diff options
Diffstat (limited to 'tcp-accept.c')
-rw-r--r-- | tcp-accept.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tcp-accept.c b/tcp-accept.c index 90d72b3..14a6312 100644 --- a/tcp-accept.c +++ b/tcp-accept.c @@ -47,7 +47,7 @@ static void tcp_acceptor(struct Listener *listener, int sock) { int fd; struct sockaddr_storage addr; - int len; + socklen_t len; char ipstring[NI_MAXHOST], portstring[NI_MAXSERV]; struct TCPListener *tcpinfo = (struct TCPListener*)(listener->typedata); @@ -126,12 +126,13 @@ int listen_tcpfwd(struct TCPListener* tcpinfo) { TRACE(("leave listen_tcpfwd: dropbear_listen failed")) return DROPBEAR_FAILURE; } - + m_free(errstring); + + /* new_listener will close the socks if it fails */ listener = new_listener(socks, nsocks, CHANNEL_ID_TCPFORWARDED, tcpinfo, tcp_acceptor, cleanup_tcp); if (listener == NULL) { - m_free(tcpinfo); TRACE(("leave listen_tcpfwd: listener failed")) return DROPBEAR_FAILURE; } |