aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--malloc/malloc.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a91b641afc..a33919939a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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