Browse Source

mem_realloc: Added assert to check that memory is shrinked, not expanded.

STABLE-2_1_x
goldsimon 19 years ago
parent
commit
4dbf1dcad4
  1. 5
      src/core/mem.c

5
src/core/mem.c

@ -195,6 +195,10 @@ mem_free(void *rmem)
sys_sem_signal(mem_sem); 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 * void *
mem_realloc(void *rmem, mem_size_t newsize) 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; ptr = (u8_t *)mem - ram;
size = mem->next - ptr - SIZEOF_STRUCT_MEM; size = mem->next - ptr - SIZEOF_STRUCT_MEM;
LWIP_ASSERT("mem_realloc can only shrink memory", newsize <= size);
#if MEM_STATS #if MEM_STATS
lwip_stats.mem.used -= (size - newsize); lwip_stats.mem.used -= (size - newsize);
#endif /* MEM_STATS */ #endif /* MEM_STATS */

Loading…
Cancel
Save