【发布时间】:2020-04-25 01:26:55
【问题描述】:
我最近一直在处理 Address Sanitizer(ASAN) 的内部结构,我开始了解 ASAN 的代码检测。
当检测 1、2、4 字节访问时,检测是:
ShadowAddr = (Addr >> 3) + Offset;
k = *ShadowAddr;
if (k != 0 && ((Addr & 7) + AccessSize > k))
ReportAndCrash(Addr);
我不明白 line 3 中的 AccessSize 是做什么的以及为什么在那里使用它。
【问题讨论】:
标签: memory memory-management address-sanitizer