Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 19 Mar 2004 07:16:54 +0000 (07:16 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 19 Mar 2004 07:16:54 +0000 (07:16 +0000)
2004-03-18  Ulrich Drepper  <drepper@redhat.com>

* malloc/malloc.c (__posix_memalign): Correct alignment check.
Reported by Don Heller <dheller@cse.psu.edu>.

ChangeLog
malloc/malloc.c

index a91b641..a339199 100644 (file)
--- 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
index 4839262..6cac7d4 100644 (file)
@@ -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