projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Idiot me! store_host_key() was blindly _appending_ new host keys to
[u/mdw/putty]
/
unix
/
uxnet.c
diff --git
a/unix/uxnet.c
b/unix/uxnet.c
index
77a4885
..
ce062d8
100644
(file)
--- a/
unix/uxnet.c
+++ b/
unix/uxnet.c
@@
-90,7
+90,7
@@
static int cmpfortree(void *av, void *bv)
static int cmpforsearch(void *av, void *bv)
{
Actual_Socket b = (Actual_Socket) bv;
static int cmpforsearch(void *av, void *bv)
{
Actual_Socket b = (Actual_Socket) bv;
- int as =
(int)
av, bs = b->s;
+ int as =
*(int *)
av, bs = b->s;
if (as < bs)
return -1;
if (as > bs)
if (as < bs)
return -1;
if (as > bs)
@@
-336,7
+336,7
@@
static struct socket_function_table tcp_fn_table = {
sk_tcp_socket_error
};
sk_tcp_socket_error
};
-Socket sk_register(
void *sock
, Plug plug)
+Socket sk_register(
OSSocket sockfd
, Plug plug)
{
Actual_Socket ret;
{
Actual_Socket ret;
@@
-357,7
+357,7
@@
Socket sk_register(void *sock, Plug plug)
ret->oobpending = FALSE;
ret->listener = 0;
ret->oobpending = FALSE;
ret->listener = 0;
- ret->s =
(int)sock
;
+ ret->s =
sockfd
;
if (ret->s < 0) {
ret->error = error_string(errno);
if (ret->s < 0) {
ret->error = error_string(errno);
@@
-521,6
+521,8
@@
Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
uxsel_tell(ret);
add234(sktree, ret);
uxsel_tell(ret);
add234(sktree, ret);
+ sk_addr_free(addr);
+
return (Socket) ret;
}
return (Socket) ret;
}
@@
-819,7
+821,7
@@
static int net_select_result(int fd, int event)
u_long atmark;
/* Find the Socket structure */
u_long atmark;
/* Find the Socket structure */
- s = find234(sktree,
(void *)
fd, cmpforsearch);
+ s = find234(sktree,
&
fd, cmpforsearch);
if (!s)
return 1; /* boggle */
if (!s)
return 1; /* boggle */
@@
-876,7
+878,7
@@
static int net_select_result(int fd, int event)
if (s->localhost_only && !ipv4_is_loopback(isa.sin_addr)) {
close(t); /* someone let nonlocal through?! */
if (s->localhost_only && !ipv4_is_loopback(isa.sin_addr)) {
close(t); /* someone let nonlocal through?! */
- } else if (plug_accepting(s->plug,
(void*)
t)) {
+ } else if (plug_accepting(s->plug, t)) {
close(t); /* denied or error */
}
break;
close(t); /* denied or error */
}
break;