Respect recv_mbuf_limit in lwip

PUBLISHED_FROM=470ff0f484bff3e4478651f0b64cc160bba8ebfc
This commit is contained in:
Dmitry Frank authored and Cesanta Bot committed 2017-12-28 12:49:54 +00:00
1 parent c5cc414181
commit 85d19dad47
1 file changed
+5 -2
+5 -2
View File
@@ -15003,9 +15003,12 @@ static void mg_lwip_handle_recv_tcp(struct mg_connection *nc) {
#endif
mgos_lock();
while (cs->rx_chain != NULL) {
while (cs->rx_chain != NULL && nc->recv_mbuf.len < nc->recv_mbuf_limit) {
struct pbuf *seg = cs->rx_chain;
size_t len = (seg->len - cs->rx_offset);
size_t seg_len = (seg->len - cs->rx_offset);
size_t buf_avail = (nc->recv_mbuf_limit - nc->recv_mbuf.len);
size_t len = MIN(seg_len, buf_avail);
char *data = (char *) MG_MALLOC(len);
if (data == NULL) {
mgos_unlock();