From 097bc4c6221e9da3c596769439897abd8ca86307 Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Wed, 24 Apr 2013 22:28:22 +0200 Subject: [PATCH] patch #8008 Fix a potential null pointer dereference in assert --- CHANGELOG | 3 +++ src/api/api_msg.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) 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) {