diff options
Diffstat (limited to 'malloc')
-rw-r--r-- | malloc/malloc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index 48392623e5..6cac7d4406 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -5418,7 +5418,9 @@ __posix_memalign (void **memptr, size_t alignment, size_t size) /* Test whether the SIZE argument is valid. It must be a power of two multiple of sizeof (void *). */ - if (alignment % sizeof (void *) != 0 || !powerof2 (alignment) != 0) + if (alignment % sizeof (void *) != 0 + || !powerof2 (alignment / sizeof (void *)) != 0 + || alignment == 0) return EINVAL; /* Call the hook here, so that caller is posix_memalign's caller |