X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmalloc%2Fmemalign.c;h=cb2324763c32b3492b77042faa319b1bb125c118;hb=70a92bc968156155dd578f7fb1d4c4e3fceb32f8;hp=55fe68e866253316faeab0076ba78d46b4881f78;hpb=a80847d86a8865a78fdbebe7f9e2533f7a74e010;p=musl diff --git a/src/malloc/memalign.c b/src/malloc/memalign.c index 55fe68e8..cb232476 100644 --- a/src/malloc/memalign.c +++ b/src/malloc/memalign.c @@ -31,8 +31,10 @@ void *__memalign(size_t align, size_t len) if (!(mem = malloc(len + align-1))) return NULL; - header = ((size_t *)mem)[-1]; new = (void *)((uintptr_t)mem + align-1 & -align); + if (new == mem) return mem; + + header = ((size_t *)mem)[-1]; if (!(header & 7)) { ((size_t *)new)[-2] = ((size_t *)mem)[-2] + (new-mem);