瀏覽代碼

mallocng/aligned_alloc: check for malloc failure

With mallocng, calling posix_memalign() or aligned_alloc() will
SIGSEGV if the internal malloc() call returns NULL. This does not
occur with oldmalloc, which explicitly checks for allocation failure.
Dominic Chen 4 年之前
父節點
當前提交
95a540e176
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      src/malloc/mallocng/aligned_alloc.c

+ 3 - 0
src/malloc/mallocng/aligned_alloc.c

@@ -22,6 +22,9 @@ void *aligned_alloc(size_t align, size_t len)
 	if (align <= UNIT) align = UNIT;
 
 	unsigned char *p = malloc(len + align - UNIT);
+	if (!p)
+		return 0;
+
 	struct meta *g = get_meta(p);
 	int idx = get_slot_index(p);
 	size_t stride = get_stride(g);