In addition to the correct answer from Jens:

On 02.10.2018 11:45, Inderjit Singh wrote:
[..]

        while (p != NULL) {
            if (ctx->recv_buf != NULL) {
                memcpy(&ctx->recv_buf[len], p->payload, p->len);
            }

            temp_p = p->next;
            len += p->len;
            pbuf_free(p);
            p = temp_p;
        }

This loop is wrong. You're double-freeing many pbufs here!


Simon
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to