~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Patch from Theo Markettos: apparently "BSD-derived IP stacks fall over when
[sgt/putty]
/
x11fwd.c
diff --git
a/x11fwd.c
b/x11fwd.c
index
914f3f0
..
8b045f3
100644
(file)
--- a/
x11fwd.c
+++ b/
x11fwd.c
@@
-174,7
+174,7
@@
static char *x11_verify(unsigned long peer_ip, int peer_port,
return NULL;
}
return NULL;
}
-static int x11_closing(Plug plug, char *error_msg, int error_code,
+static int x11_closing(Plug plug, c
onst c
har *error_msg, int error_code,
int calling_back)
{
struct X11Private *pr = (struct X11Private *) plug;
int calling_back)
{
struct X11Private *pr = (struct X11Private *) plug;
@@
-232,8
+232,8
@@
int x11_get_screen_number(char *display)
* Returns an error message, or NULL on success.
* also, fills the SocketsStructure
*/
* Returns an error message, or NULL on success.
* also, fills the SocketsStructure
*/
-char *x11_init(Socket * s, char *display, void *c, void *auth,
- const char *peeraddr, int peerport, const Config *cfg)
+c
onst c
har *x11_init(Socket * s, char *display, void *c, void *auth,
+
const char *peeraddr, int peerport, const Config *cfg)
{
static const struct plug_function_table fn_table = {
x11_closing,
{
static const struct plug_function_table fn_table = {
x11_closing,
@@
-244,7
+244,8
@@
char *x11_init(Socket * s, char *display, void *c, void *auth,
SockAddr addr;
int port;
SockAddr addr;
int port;
- char *err, *dummy_realhost;
+ const char *err;
+ char *dummy_realhost;
char host[128];
int n, displaynum;
struct X11Private *pr;
char host[128];
int n, displaynum;
struct X11Private *pr;
@@
-276,8
+277,10
@@
char *x11_init(Socket * s, char *display, void *c, void *auth,
* Try to find host.
*/
addr = name_lookup(host, port, &dummy_realhost, cfg);
* Try to find host.
*/
addr = name_lookup(host, port, &dummy_realhost, cfg);
- if ((err = sk_addr_error(addr)) != NULL)
+ if ((err = sk_addr_error(addr)) != NULL) {
+ sk_addr_free(addr);
return err;
return err;
+ }
/*
* Open socket.
/*
* Open socket.
@@
-314,7
+317,6
@@
char *x11_init(Socket * s, char *display, void *c, void *auth,
}
sk_set_private_ptr(*s, pr);
}
sk_set_private_ptr(*s, pr);
- sk_addr_free(addr);
return NULL;
}
return NULL;
}
@@
-361,10
+363,10
@@
void x11_override_throttle(Socket s, int enable)
*/
int x11_send(Socket s, char *data, int len)
{
*/
int x11_send(Socket s, char *data, int len)
{
- struct X11Private *pr = (struct X11Private *) sk_get_private_ptr(s);
-
- if (s == NULL)
+ struct X11Private *pr;
+ if (!s)
return 0;
return 0;
+ pr = (struct X11Private *) sk_get_private_ptr(s);
/*
* Read the first packet.
/*
* Read the first packet.
@@
-385,7
+387,7
@@
int x11_send(Socket s, char *data, int len)
pr->auth_dsize = (pr->auth_dlen + 3) & ~3;
/* Leave room for a terminating zero, to make our lives easier. */
pr->auth_protocol = snewn(pr->auth_psize + 1, char);
pr->auth_dsize = (pr->auth_dlen + 3) & ~3;
/* Leave room for a terminating zero, to make our lives easier. */
pr->auth_protocol = snewn(pr->auth_psize + 1, char);
- pr->auth_data = snewn(pr->auth_dsize, char);
+ pr->auth_data = snewn(pr->auth_dsize,
unsigned
char);
}
/*
}
/*