diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | malloc/malloc.c | 4 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2004-03-18 Ulrich Drepper <drepper@redhat.com> + + * malloc/malloc.c (__posix_memalign): Correct alignment check. + Reported by Don Heller <dheller@cse.psu.edu>. + 2004-03-18 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Remove hwcap 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 |