summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2014-02-24 15:56:07 +1100
committerDamien Miller <djm@mindrot.org>2014-02-24 15:56:07 +1100
commit0890dc8191bb201eb01c3429feec0300a9d3a930 (patch)
tree429f5dbcaa55812e74b5dfc24fcd43edd921d521
parentd3cf67e1117c25d151d0f86396e77ee3a827045a (diff)
- djm@cvs.openbsd.org 2014/02/15 23:05:36
[channels.c] avoid spurious "getsockname failed: Bad file descriptor" errors in ssh -W; bz#2200, debian#738692 via Colin Watson; ok dtucker@
-rw-r--r--ChangeLog4
-rw-r--r--channels.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 057582f4..3da503b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,10 @@
[cipher.c mac.c]
remove some logging that makes ssh debugging output very verbose;
ok markus
+ - djm@cvs.openbsd.org 2014/02/15 23:05:36
+ [channels.c]
+ avoid spurious "getsockname failed: Bad file descriptor" errors in ssh -W;
+ bz#2200, debian#738692 via Colin Watson; ok dtucker@
20140221
- (tim) [configure.ac] Fix cut-and-paste error. Patch from Bryan Drewery.
diff --git a/channels.c b/channels.c
index 013accdc..1052b80c 100644
--- a/channels.c
+++ b/channels.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.329 2014/01/31 16:39:19 tedu Exp $ */
+/* $OpenBSD: channels.c,v 1.330 2014/02/15 23:05:36 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -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);