Explorar o código

[update] 使用memheap内存管理时,rt_malloc 0长度返回RT_NULL, 与slab与小内存管理等算法保持一致。

zhouji %!s(int64=4) %!d(string=hai) anos
pai
achega
3327ffaa15
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      src/memheap.c

+ 4 - 0
src/memheap.c

@@ -850,6 +850,10 @@ void *rt_malloc(rt_size_t size)
 {
     void *ptr;
 
+    /* zero size, return RT_NULL */
+    if (size == 0)
+        return RT_NULL;
+
     /* try to allocate in system heap */
     ptr = rt_memheap_alloc(&_heap, size);
 #ifdef RT_USING_MEMHEAP_AUTO_BINDING