Prechádzať zdrojové kódy

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 rokov pred
rodič
commit
95a540e176
1 zmenil súbory, kde vykonal 3 pridanie a 0 odobranie
  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);