From 18e1479bf4586a14b88dab082af10a8981b9d48d Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sat, 15 Feb 2014 02:08:20 +0000 Subject: Skip get_sock_port call for c->sock==-1 Origin: upstream, https://bugzilla.mindrot.org/show_bug.cgi?id=2200 Bug-Debian: http://bugs.debian.org/738693 Last-Update: 2014-02-15 Patch-Name: getsockname-error.patch --- channels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/channels.c b/channels.c index e741f29..8e66265 100644 --- a/channels.c +++ b/channels.c @@ -1386,7 +1386,7 @@ port_open_helper(Channel *c, char *rtype) int direct; char buf[1024]; char *local_ipaddr = get_local_ipaddr(c->sock); - int local_port = get_sock_port(c->sock, 1); + int local_port = c->sock == -1 ? 65536 : get_sock_port(c->sock, 1); char *remote_ipaddr = get_peer_ipaddr(c->sock); int remote_port = get_peer_port(c->sock);