[PATCH] D35275: [Sanitizers] ASan/MSan/LSan allocators set errno on failure.
Matt Morehouse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 13 15:43:49 PDT 2017
morehouse added inline comments.
================
Comment at: lib/msan/msan_allocator.cc:269
+void *msan_aligned_alloc(uptr alignment, uptr size, StackTrace *stack) {
+ if (UNLIKELY(!IsPowerOfTwo(alignment) || (size & (alignment - 1)) != 0)) {
+ errno = errno_EINVAL;
----------------
vitalybuka wrote:
> why not just (size % alignmet == 0) and ignore "power of two" check?
From memalign and aligned_alloc man page:
> The obsolete function memalign() allocates size bytes and returns a
> pointer to the allocated memory. The memory address will be a multiple
> of alignment, which must be a power of two.
> The function aligned_alloc() is the same as memalign(), except for the
> added restriction that size should be a multiple of alignment.
https://reviews.llvm.org/D35275
More information about the llvm-commits
mailing list