每日技巧 #2:更安全的Arena分配器
2024-11-04
本文介绍了一种更安全的Arena分配器,通过在分配的内存区域前后添加保护页来防止越界访问。Arena分配器将具有相同生命周期的多个分配分组到一个批次中,一次性分配和释放,从而简化代码并提高性能。然而,标准的Arena分配器容易出现越界写入错误,导致难以调试的问题。本文提出的解决方案是在Arena创建时,在实际分配的内存前后添加保护页,并将这些页面标记为不可读写,任何访问都会触发SIGSEGV信号,从而更容易诊断越界访问错误。文章还讨论了其他安全措施,例如每个类型一个bucket的分配策略以及更严格的单页分配方法。
20
未分类
Arena分配器