ASAN插入代码中AccessSize的重要性

问题描述 投票:0回答:1

我最近一直在处理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做什么,为什么在其中使用它。

我最近一直在处理Address Sanitizer(ASAN)的内部结构,后来我了解了ASAN的代码工具。当检测1,2,4字节访问时,检测为:...

memory memory-management address-sanitizer
1个回答
0
投票

AddressSanitizerAlgorithm wiki中所述,影子存储器的每个字节编码相应的用户存储器的7个字节的状态:

© www.soinside.com 2019 - 2024. All rights reserved.