diff --git a/CHANGELOG b/CHANGELOG index cd627dbf..bd2e2ecd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -80,6 +80,9 @@ HISTORY ++ Bugfixes: + 2013-04-24: patch by Liam + api_msg.c: patch #8008 Fix a potential null pointer dereference in assert + 2013-04-24: Simon Goldschmidt * igmp.c: fixed possible division by zero diff --git a/src/api/api_msg.c b/src/api/api_msg.c index b1a9b772..02973389 100644 --- a/src/api/api_msg.c +++ b/src/api/api_msg.c @@ -222,11 +222,12 @@ recv_tcp(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err) LWIP_ASSERT("recv_tcp must have a pcb argument", pcb != NULL); LWIP_ASSERT("recv_tcp must have an argument", arg != NULL); conn = (struct netconn *)arg; - LWIP_ASSERT("recv_tcp: recv for wrong pcb!", conn->pcb.tcp == pcb); if (conn == NULL) { return ERR_VAL; } + LWIP_ASSERT("recv_tcp: recv for wrong pcb!", conn->pcb.tcp == pcb); + if (!sys_mbox_valid(&conn->recvmbox)) { /* recvmbox already deleted */ if (p != NULL) {