mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-01 04:12:07 +00:00
fixed bug #43192 tcp_enqueue_flags() should not check TCP_SND_QUEUELEN when sending FIN
This commit is contained in:
parent
56c6301089
commit
085c1594de
@ -127,6 +127,10 @@ HISTORY
|
|||||||
|
|
||||||
++ Bugfixes:
|
++ Bugfixes:
|
||||||
|
|
||||||
|
2014-09-16: Simon Goldschmidt
|
||||||
|
* tcp_out.c: fixed bug #43192 tcp_enqueue_flags() should not check TCP_SND_QUEUELEN
|
||||||
|
when sending FIN
|
||||||
|
|
||||||
2014-09-03: Simon Goldschmidt
|
2014-09-03: Simon Goldschmidt
|
||||||
* msg_in.c: fixed bug #39355 SNMP Memory Leak in case of error
|
* msg_in.c: fixed bug #39355 SNMP Memory Leak in case of error
|
||||||
|
|
||||||
|
@ -745,8 +745,9 @@ tcp_enqueue_flags(struct tcp_pcb *pcb, u8_t flags)
|
|||||||
LWIP_ASSERT("tcp_enqueue_flags: need either TCP_SYN or TCP_FIN in flags (programmer violates API)",
|
LWIP_ASSERT("tcp_enqueue_flags: need either TCP_SYN or TCP_FIN in flags (programmer violates API)",
|
||||||
(flags & (TCP_SYN | TCP_FIN)) != 0);
|
(flags & (TCP_SYN | TCP_FIN)) != 0);
|
||||||
|
|
||||||
/* check for configured max queuelen and possible overflow */
|
/* check for configured max queuelen and possible overflow (FIN flag should always come through!) */
|
||||||
if ((pcb->snd_queuelen >= TCP_SND_QUEUELEN) || (pcb->snd_queuelen > TCP_SNDQUEUELEN_OVERFLOW)) {
|
if (((pcb->snd_queuelen >= TCP_SND_QUEUELEN) || (pcb->snd_queuelen > TCP_SNDQUEUELEN_OVERFLOW)) &&
|
||||||
|
((flags & TCP_FIN) == 0)) {
|
||||||
LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, ("tcp_enqueue_flags: too long queue %"U16_F" (max %"U16_F")\n",
|
LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, ("tcp_enqueue_flags: too long queue %"U16_F" (max %"U16_F")\n",
|
||||||
pcb->snd_queuelen, TCP_SND_QUEUELEN));
|
pcb->snd_queuelen, TCP_SND_QUEUELEN));
|
||||||
TCP_STATS_INC(tcp.memerr);
|
TCP_STATS_INC(tcp.memerr);
|
||||||
|
Loading…
Reference in New Issue
Block a user