diff --git a/src/core/tcp_out.c b/src/core/tcp_out.c index 4a3d60e4..368032d3 100644 --- a/src/core/tcp_out.c +++ b/src/core/tcp_out.c @@ -148,7 +148,8 @@ tcp_enqueue(struct tcp_pcb *pcb, void *arg, u16_t len, queuelen = pcb->snd_queuelen; if (queuelen >= TCP_SND_QUEUELEN) { LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, ("tcp_enqueue: too long queue %u (max %u)\n", queuelen, TCP_SND_QUEUELEN)); - goto memerr; + TCP_STATS_INC(tcp.memerr); + return ERR_MEM; } if (queuelen != 0) { LWIP_ASSERT("tcp_enqueue: pbufs on queue => at least one queue non-empty", @@ -352,7 +353,7 @@ tcp_enqueue(struct tcp_pcb *pcb, void *arg, u16_t len, } return ERR_OK; - memerr: +memerr: TCP_STATS_INC(tcp.memerr); if (queue != NULL) {