From 84907d5bc4a940133d4a45971e48662d448e5394 Mon Sep 17 00:00:00 2001 From: Deomid Ryabkov Date: Tue, 18 Apr 2017 15:20:46 +0100 Subject: [PATCH] Ignore tcp sent cb when there's no asscociated nc TCP ACK may arrive after the we've corresponding mg_connection has already been closed. Fixes cesanta/mongoose-os#235 PUBLISHED_FROM=8164b86131ef08c1b2a6a08630920d600b3f91ac --- mongoose.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mongoose.c b/mongoose.c index 7c40cb9c..928f1107 100644 --- a/mongoose.c +++ b/mongoose.c @@ -14203,6 +14203,7 @@ static err_t mg_lwip_tcp_sent_cb(void *arg, struct tcp_pcb *tpcb, u16_t num_sent) { struct mg_connection *nc = (struct mg_connection *) arg; DBG(("%p %p %u", nc, tpcb, num_sent)); + if (nc == NULL) return ERR_OK; if ((nc->flags & MG_F_SEND_AND_CLOSE) && !(nc->flags & MG_F_WANT_WRITE) && nc->send_mbuf.len == 0 && tpcb->unacked == 0) { mg_lwip_post_signal(MG_SIG_CLOSE_CONN, nc);