From 4dbf1dcad441894de3a60e4818a1638fb8b77e84 Mon Sep 17 00:00:00 2001 From: goldsimon Date: Tue, 8 May 2007 10:50:19 +0000 Subject: [PATCH] mem_realloc: Added assert to check that memory is shrinked, not expanded. --- src/core/mem.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/mem.c b/src/core/mem.c index df38863c..1ebb5f54 100644 --- a/src/core/mem.c +++ b/src/core/mem.c @@ -195,6 +195,10 @@ mem_free(void *rmem) sys_sem_signal(mem_sem); } +/* In contrast to its name, mem_realloc can only shrink memory, not expand it. + * Since the only use (for now) is in pbuf_realloc (which also can only shrink), + * this shouldn't be a problem! + */ void * mem_realloc(void *rmem, mem_size_t newsize) { @@ -226,6 +230,7 @@ mem_realloc(void *rmem, mem_size_t newsize) ptr = (u8_t *)mem - ram; size = mem->next - ptr - SIZEOF_STRUCT_MEM; + LWIP_ASSERT("mem_realloc can only shrink memory", newsize <= size); #if MEM_STATS lwip_stats.mem.used -= (size - newsize); #endif /* MEM_STATS */