From 36e4c596173ce685884296ccddd5f1c6478f9204 Mon Sep 17 00:00:00 2001 From: dongheng Date: Fri, 1 Nov 2019 10:45:31 +0800 Subject: [PATCH] fix(lwip): fix pbuf_free when DRAM lacks --- lib/liblwip.a | Bin 526512 -> 526552 bytes third_party/lwip/core/pbuf.c | 3 +++ 2 files changed, 3 insertions(+) diff --git a/lib/liblwip.a b/lib/liblwip.a index ab4f469873fb8fdd70e1957abef7524693155b46..332f1a7c2818cd8fa0f669fea6dbef5010d72a02 100644 GIT binary patch delta 9259 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 delta 9098 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 diff --git a/third_party/lwip/core/pbuf.c b/third_party/lwip/core/pbuf.c index d7c4ec8b..896a5d87 100644 --- a/third_party/lwip/core/pbuf.c +++ b/third_party/lwip/core/pbuf.c @@ -303,6 +303,7 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type) (PBUF_POOL_BUFSIZE_ALIGNED - LWIP_MEM_ALIGN_SIZE(offset)) > 0 ); /* set reference count (needed here in case we fail) */ p->ref = 1; + p->eb = NULL; /* now allocate the tail of the pbuf chain */ @@ -337,6 +338,7 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type) ((u8_t*)p->payload + p->len <= (u8_t*)p + SIZEOF_STRUCT_PBUF + PBUF_POOL_BUFSIZE_ALIGNED)); q->ref = 1; + q->eb = NULL; /* calculate remaining length to be allocated */ rem_len -= q->len; /* remember this pbuf for linkage in next iteration */ @@ -382,6 +384,7 @@ pbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type) p->len = p->tot_len = length; p->next = NULL; p->type = type; + p->eb = NULL; break; default: LWIP_ASSERT("pbuf_alloc: erroneous type", 0);