Ahm*_*sud 6
TLDR;
尝试:
MallocNanoZone=0 ./a.out
解释
注意:我的解释可能有点不准确,因为我只是研究它来回答问题:我只是简单地阅读了 libmalloc 代码以尝试了解正在发生的事情,这是我认为正在发生的事情:
libmalloc 中的nano_malloc
例程尝试为预先计算的内存地址预先分配预先计算大小的内存。因为您将地址清理程序挂钩注入二进制文件(-fsanitize=address),所以地址无法用于计算 a.out 中预分配的确切大小......这反过来意味着预先确定多少空间是需要在虚拟内存中的哪些波段被奇怪。
因此,您可以通过关闭 preband 分配来简单地禁用它......设置环境变量MallocNanoZone=0
然后离开。
更多推荐
分配,错误,空间,nano,zone
发布评论