From 32bea29d04c24be75c3169ea6ad107e4c3828691 Mon Sep 17 00:00:00 2001 From: Nicholas Ngai Date: Tue, 30 Nov 2021 08:48:46 -0800 Subject: socket: Move closesocket(so->s_aux) to sofree Signed-off-by: Nicholas Ngai --- src/socket.c | 4 ++++ src/tcp_subr.c | 3 --- src/udp.c | 3 --- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/socket.c b/src/socket.c index 8aa942e..f071d69 100644 --- a/src/socket.c +++ b/src/socket.c @@ -84,6 +84,10 @@ void sofree(struct socket *so) { Slirp *slirp = so->slirp; + if (so->s_aux != -1) { + closesocket(so->s_aux); + } + soqfree(so, &slirp->if_fastq); soqfree(so, &slirp->if_batchq); diff --git a/src/tcp_subr.c b/src/tcp_subr.c index 8feff5b..636c447 100644 --- a/src/tcp_subr.c +++ b/src/tcp_subr.c @@ -339,9 +339,6 @@ struct tcpcb *tcp_close(struct tcpcb *tp) slirp->tcp_last_so = &slirp->tcb; so->slirp->cb->unregister_poll_fd(so->s, so->slirp->opaque); closesocket(so->s); - if (so->s_aux != -1) { - closesocket(so->s_aux); - } sbfree(&so->so_rcv); sbfree(&so->so_snd); sofree(so); diff --git a/src/udp.c b/src/udp.c index 74013b1..2e45eb4 100644 --- a/src/udp.c +++ b/src/udp.c @@ -339,9 +339,6 @@ void udp_detach(struct socket *so) { so->slirp->cb->unregister_poll_fd(so->s, so->slirp->opaque); closesocket(so->s); - if (so->s_aux != -1) { - closesocket(so->s_aux); - } sofree(so); } -- cgit v1.1