From d32492e953967f02846282334a701d2e0e520c6d Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Wed, 3 May 2017 09:02:35 +0200 Subject: [PATCH] Make patch 4 of David's Minix3 patches superfluous: Use PBUF_POOL to duplicate incoming packets in UDP ... which would have been the correct way to do it anyway :-) http://git.minix3.org/index.cgi?p=minix.git;a=blob;f=minix/lib/liblwip/patches/0004-MINIX-3-only-avoid-large-contiguous-allocations.patch;h=f23143c7e8d372b3b35b599a97975d79924f73c1;hb=HEAD --- src/core/udp.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/core/udp.c b/src/core/udp.c index f6ade7dd..93dc9ffd 100644 --- a/src/core/udp.c +++ b/src/core/udp.c @@ -374,14 +374,11 @@ udp_input(struct pbuf *p, struct netif *inp) pbuf_header_force(p, hdrs_len); p_header_changed = 1; } - q = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM); + q = pbuf_clone(PBUF_RAW, PBUF_POOL, p); if (q != NULL) { - err_t err = pbuf_copy(q, p); - if (err == ERR_OK) { - /* move payload to UDP data */ - pbuf_header(q, -hdrs_len); - mpcb->recv(mpcb->recv_arg, mpcb, q, ip_current_src_addr(), src); - } + /* move payload to UDP data */ + pbuf_header(q, -hdrs_len); + mpcb->recv(mpcb->recv_arg, mpcb, q, ip_current_src_addr(), src); } } }