projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve socket error handling so that a socket error isn't an
[u/mdw/putty]
/
x11fwd.c
diff --git
a/x11fwd.c
b/x11fwd.c
index
b4fecd9
..
7e99523
100644
(file)
--- a/
x11fwd.c
+++ b/
x11fwd.c
@@
-106,6
+106,14
@@
static int x11_verify(char *proto, unsigned char *data, int dlen) {
static int x11_receive (Socket s, int urgent, char *data, int len) {
struct X11Private *pr = (struct X11Private *)sk_get_private_ptr(s);
static int x11_receive (Socket s, int urgent, char *data, int len) {
struct X11Private *pr = (struct X11Private *)sk_get_private_ptr(s);
+ if (urgent==3) {
+ /*
+ * A socket error has occurred. We have no way to
+ * communicate this down the forwarded connection, so we'll
+ * just treat it like a proper close.
+ */
+ len = 0;
+ }
if (!len) {
/* Connection has closed. */
sshfwd_close(pr->c);
if (!len) {
/* Connection has closed. */
sshfwd_close(pr->c);