diff --git a/net/inet/inet_close.c b/net/inet/inet_close.c index 66b798a305e..bfb19d12de6 100644 --- a/net/inet/inet_close.c +++ b/net/inet/inet_close.c @@ -348,7 +348,11 @@ static inline int tcp_close_disconnect(FAR struct socket *psock) * release it now. */ - psock->s_sndcb = NULL; + if (psock->s_sndcb != NULL) + { + tcp_callback_free(conn, psock->s_sndcb); + psock->s_sndcb = NULL; + } #endif /* Check for the case where the host beat us and disconnected first */