mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Fix call to tcp_recved after pcb has been closed, abort connections closed by the remote side
This commit is contained in:
parent
c17e86842e
commit
7d1de31896
@ -191,7 +191,8 @@ private:
|
|||||||
else if (!_rx_buf->next)
|
else if (!_rx_buf->next)
|
||||||
{
|
{
|
||||||
DEBUGV(":c0 %d, %d\r\n", size, _rx_buf->tot_len);
|
DEBUGV(":c0 %d, %d\r\n", size, _rx_buf->tot_len);
|
||||||
tcp_recved(_pcb, _rx_buf->len);
|
if (_pcb)
|
||||||
|
tcp_recved(_pcb, _rx_buf->len);
|
||||||
pbuf_free(_rx_buf);
|
pbuf_free(_rx_buf);
|
||||||
_rx_buf = 0;
|
_rx_buf = 0;
|
||||||
_rx_buf_offset = 0;
|
_rx_buf_offset = 0;
|
||||||
@ -203,7 +204,8 @@ private:
|
|||||||
_rx_buf = _rx_buf->next;
|
_rx_buf = _rx_buf->next;
|
||||||
_rx_buf_offset = 0;
|
_rx_buf_offset = 0;
|
||||||
pbuf_ref(_rx_buf);
|
pbuf_ref(_rx_buf);
|
||||||
tcp_recved(_pcb, head->len);
|
if (_pcb)
|
||||||
|
tcp_recved(_pcb, head->len);
|
||||||
pbuf_free(head);
|
pbuf_free(head);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -218,8 +220,8 @@ private:
|
|||||||
tcp_sent(pcb, NULL);
|
tcp_sent(pcb, NULL);
|
||||||
tcp_recv(pcb, NULL);
|
tcp_recv(pcb, NULL);
|
||||||
tcp_err(pcb, NULL);
|
tcp_err(pcb, NULL);
|
||||||
int error = tcp_close(pcb);
|
// int error = tcp_close(pcb);
|
||||||
if (error != ERR_OK)
|
// if (error != ERR_OK)
|
||||||
{
|
{
|
||||||
DEBUGV(":rcla\r\n");
|
DEBUGV(":rcla\r\n");
|
||||||
tcp_abort(pcb);
|
tcp_abort(pcb);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user