summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-03-30 20:45:39 +0800
committerGitHub <[email protected]>2020-03-30 20:45:39 +0800
commit0930683a3faae2fa91cfea965d5265f2f6df0d29 (patch)
tree4d1cb3e7edd84560324ffce7c0cdae09cda4076f
parent7f6755c622fd76394f0496752d7b33846f19ebe8 (diff)
parentb082876c9b06d8a883726e6ddec50c2b49b6c4da (diff)
Merge pull request #3489 from greed-island/mem
fix bug in rt_realloc of mem.c, which may cause memory leak
-rw-r--r--src/mem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mem.c b/src/mem.c
index 8099b6bb7e..c03c8b3452 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -489,6 +489,12 @@ void *rt_realloc(void *rmem, rt_size_t newsize)
{
((struct heap_mem *)&heap_ptr[mem2->next])->prev = ptr2;
}
+
+ if (mem2 < lfree)
+ {
+ /* the splited struct is now the lowest */
+ lfree = mem2;
+ }
plug_holes(mem2);