core/shared/platform: Zero memory returned by os_mmap in some platforms (#3551)

The os_mmap should zero the mapped memory like what posix mmap does.
This commit is contained in:
Wenyong Huang
2024-06-21 13:33:12 +08:00
committed by GitHub
parent e8df3b5c48
commit 607ae47d7b
5 changed files with 36 additions and 9 deletions

View File

@ -43,8 +43,10 @@ os_mmap(void *hint, size_t size, int prot, int flags, os_file_handle file)
uintptr_t *addr_field = buf_fixed - sizeof(uintptr_t);
*addr_field = (uintptr_t)buf_origin;
#if (WASM_MEM_DUAL_BUS_MIRROR != 0)
memset(buf_fixed + MEM_DUAL_BUS_OFFSET, 0, size);
return buf_fixed + MEM_DUAL_BUS_OFFSET;
#else
memset(buf_fixed, 0, size);
return buf_fixed;
#endif
}
@ -71,6 +73,7 @@ os_mmap(void *hint, size_t size, int prot, int flags, os_file_handle file)
uintptr_t *addr_field = buf_fixed - sizeof(uintptr_t);
*addr_field = (uintptr_t)buf_origin;
memset(buf_fixed, 0, size);
return buf_fixed;
}
}