mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-07-04 20:08:57 +00:00
Fixed a bug in tcp_enqueue introduced with v1.79 of this file while fixing bug #25094 (zero-length pbuf)
This commit is contained in:
parent
261dfdf010
commit
36e3d24331
|
@ -358,6 +358,8 @@ tcp_enqueue(struct tcp_pcb *pcb, void *arg, u16_t len,
|
||||||
/* free the first (header-only) pbuf if it is now empty (contained only headers) */
|
/* free the first (header-only) pbuf if it is now empty (contained only headers) */
|
||||||
struct pbuf *old_q = queue->p;
|
struct pbuf *old_q = queue->p;
|
||||||
queue->p = queue->p->next;
|
queue->p = queue->p->next;
|
||||||
|
old_q->next = NULL;
|
||||||
|
queuelen--;
|
||||||
pbuf_free(old_q);
|
pbuf_free(old_q);
|
||||||
}
|
}
|
||||||
LWIP_ASSERT("zero-length pbuf", (queue->p != NULL) && (queue->p->len > 0));
|
LWIP_ASSERT("zero-length pbuf", (queue->p != NULL) && (queue->p->len > 0));
|
||||||
|
@ -476,8 +478,8 @@ tcp_output(struct tcp_pcb *pcb)
|
||||||
useg = pcb->unacked;
|
useg = pcb->unacked;
|
||||||
if (useg != NULL) {
|
if (useg != NULL) {
|
||||||
for (; useg->next != NULL; useg = useg->next);
|
for (; useg->next != NULL; useg = useg->next);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the TF_ACK_NOW flag is set and no data will be sent (either
|
/* If the TF_ACK_NOW flag is set and no data will be sent (either
|
||||||
* because the ->unsent queue is empty or because the window does
|
* because the ->unsent queue is empty or because the window does
|
||||||
* not allow it), construct an empty ACK segment and send it.
|
* not allow it), construct an empty ACK segment and send it.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user