diff --git a/src/api/api_msg.c b/src/api/api_msg.c index 4830a468..81bc93d5 100644 --- a/src/api/api_msg.c +++ b/src/api/api_msg.c @@ -221,6 +221,7 @@ recv_udp(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct netbuf *buf; struct netconn *conn; u16_t len; + err_t err; #if LWIP_SO_RCVBUF int recv_avail; #endif /* LWIP_SO_RCVBUF */ @@ -269,8 +270,10 @@ recv_udp(void *arg, struct udp_pcb *pcb, struct pbuf *p, } len = p->tot_len; - if (sys_mbox_trypost(&conn->recvmbox, buf) != ERR_OK) { + err = sys_mbox_trypost(&conn->recvmbox, buf); + if (err != ERR_OK) { netbuf_delete(buf); + LWIP_DEBUGF(API_MSG_DEBUG, ("recv_udp: sys_mbox_trypost failed, err=%d\n", err)); return; } else { #if LWIP_SO_RCVBUF