diff options
| author | Bernard Xiong <[email protected]> | 2018-10-25 21:42:47 +0800 |
|---|---|---|
| committer | Bernard Xiong <[email protected]> | 2018-10-25 21:42:47 +0800 |
| commit | d23a65d54ec519b0b1bb844d3b2758b2253d4ff7 (patch) | |
| tree | 2b7494b3a2f4832306828498210741d3606411bb /src/mem.c | |
| parent | 4660882320f8ac3499f74c30dcbaf8f2b40c202f (diff) | |
| parent | 8483a50d8df8bf652c71d74d678bea48c48cfc92 (diff) | |
Merge branch 'master' into dev-4.0.x
Diffstat (limited to 'src/mem.c')
| -rw-r--r-- | src/mem.c | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -261,11 +261,11 @@ void *rt_malloc(rt_size_t size) rt_size_t ptr, ptr2; struct heap_mem *mem, *mem2; - RT_DEBUG_NOT_IN_INTERRUPT; - if (size == 0) return RT_NULL; + RT_DEBUG_NOT_IN_INTERRUPT; + if (size != RT_ALIGN(size, RT_ALIGN_SIZE)) RT_DEBUG_LOG(RT_DEBUG_MEM, ("malloc size %d, but align to %d\n", size, RT_ALIGN(size, RT_ALIGN_SIZE))); @@ -513,8 +513,6 @@ void *rt_calloc(rt_size_t count, rt_size_t size) { void *p; - RT_DEBUG_NOT_IN_INTERRUPT; - /* allocate 'count' objects of size 'size' */ p = rt_malloc(count * size); @@ -536,10 +534,11 @@ void rt_free(void *rmem) { struct heap_mem *mem; - RT_DEBUG_NOT_IN_INTERRUPT; - if (rmem == RT_NULL) return; + + RT_DEBUG_NOT_IN_INTERRUPT; + RT_ASSERT((((rt_uint32_t)rmem) & (RT_ALIGN_SIZE - 1)) == 0); RT_ASSERT((rt_uint8_t *)rmem >= (rt_uint8_t *)heap_ptr && (rt_uint8_t *)rmem < (rt_uint8_t *)heap_end); |
