summaryrefslogtreecommitdiff
path: root/libc/malloc_debug/Config.cpp
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2016-02-11 15:51:31 -0800
committerChristopher Ferris <cferris@google.com>2016-02-12 17:30:30 -0800
commit72df6708c829a4c6494936fdfbda6dc7e68e647b (patch)
tree17ede0d54b6f50c3598a3fcec56f50754067690d /libc/malloc_debug/Config.cpp
parent72bca4b4105e24058f3f2eca024382bedb122a30 (diff)
Fix the default alignment of the allocations.
In order to enforce this constraint: The pointer returned if the allocation succeeds shall be suitably aligned so that it may be assigned to a pointer to any type of object and then used to access such an object in the space allocated. Force all allocations on 32 bit systems to have 8 byte alignment, and all allocations on 64 bit systems to have 16 byte alignment. Add a test to verify that the allocator returns the correct alignments. Bug: 26739265 Change-Id: I9af53279617408676b94e4ec6481b3ed7ffafc6a
Diffstat (limited to 'libc/malloc_debug/Config.cpp')
-rw-r--r--libc/malloc_debug/Config.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libc/malloc_debug/Config.cpp b/libc/malloc_debug/Config.cpp
index 032c1fc93..ce83aa4bb 100644
--- a/libc/malloc_debug/Config.cpp
+++ b/libc/malloc_debug/Config.cpp
@@ -347,10 +347,10 @@ bool Config::SetFromProperties() {
valid = valid && parser.Done();
if (valid) {
- // It's necessary to align the front guard to sizeof(uintptr_t) to
+ // It's necessary to align the front guard to MINIMUM_ALIGNMENT_BYTES to
// make sure that the header is aligned properly.
if (options & FRONT_GUARD) {
- front_guard_bytes = BIONIC_ALIGN(front_guard_bytes, sizeof(uintptr_t));
+ front_guard_bytes = BIONIC_ALIGN(front_guard_bytes, MINIMUM_ALIGNMENT_BYTES);
}
// This situation can occur if the free_track option is specified and