From 84907d5bc4a940133d4a45971e48662d448e5394 Mon Sep 17 00:00:00 2001
From: Deomid Ryabkov <rojer@cesanta.com>
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 7c40cb9c0..928f11075 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);
-- 
GitLab