mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
afddb46c51
lwip receives network buffers that are made available to lwip_sock_tcp calling `netconn_recv_tcp_pbuf`. The size of these buffers depends on the size of the network packets. An application calling `sock_tcp_read` can pass any arbitrary buffer size to read (copy) from these internal network buffers, which may be smaller. lwip_sock_tcp keeps around the last network buffer (`struct pbuf last_buf`) and the offset into this buffer already consumed by the application (`last_offset`). However, when multiple application reads from the same `pbuf` buffer occur, the `last_offset` must be updated incrementing it. The code had a bug that would work only when `last_offset` was either 0 (no previous partial read) or when the current read was consuming all the remaining data (when `buf_len == copylen`). This patch fixes the issue an allows multiple reads from the same buffer. |
||
---|---|---|
.. | ||
contrib | ||
include | ||
patches | ||
doc.txt | ||
Makefile | ||
Makefile.dep | ||
Makefile.include |