This commit is contained in:
Andrea Fioraldi 2019-12-12 22:18:52 +01:00
parent 01f0af64da
commit d40b670388
2 changed files with 13 additions and 10 deletions

View File

@ -340,7 +340,7 @@ void* realloc(void* ptr, size_t len) {
int posix_memalign(void** ptr, size_t align, size_t len) {
if (*ptr == NULL) return EINVAL;
// if (*ptr == NULL) return EINVAL; // (andrea) Why? I comment it out for now
if ((align % 2) || (align % sizeof(void*))) return EINVAL;
if (len == 0) {
@ -348,12 +348,15 @@ int posix_memalign(void** ptr, size_t align, size_t len) {
return 0;
}
size_t rem = len % align;
if (rem) len += align - rem;
*ptr = __dislocator_alloc(len);
if (align >= 4 * sizeof(size_t)) len += align - 1;
if (*ptr && len) memset(*ptr, ALLOC_CLOBBER, len);
*ptr = malloc(len);
DEBUGF("posix_memalign(%p %zu, %zu)", ptr, align, len);
DEBUGF("posix_memalign(%p %zu, %zu) [*ptr = %p]", ptr, align, len, *ptr);
return 0;

View File

@ -259,11 +259,11 @@ void init_forkserver(char **argv) {
setenv("MSAN_OPTIONS",
"exit_code=" STRINGIFY(MSAN_ERROR) ":"
"symbolize=0:"
"abort_on_error=1:"
"malloc_context_size=0:"
"allocator_may_return_null=1:"
"msan_track_origins=0",
"symbolize=0:"
"abort_on_error=1:"
"malloc_context_size=0:"
"allocator_may_return_null=1:"
"msan_track_origins=0",
0);
execv(target_path, argv);