• F
    feat: malloc指针混淆以及safe unlink · 1d4c1642
    Far 提交于
    1. 指针混淆:
       对空闲chunk的双向链表指针next、prev进行混淆。具体为将该指针与一个key做异或操作。
       不同的bin拥有不同的key,key通过随机数生成器生成。
    2. safe unlink:
       在unbin操作时校验双向链表的有效性,即检查双向链表中前一项和后一项的指向当前chunk
       的指针是否正常,否则终止进程。
    
    这两个功能均可通过MALLOC_FREELIST_HARDENED宏开关
    这个宏可以通过编译框架直接开关(在编译命令后增加 --gn-args "musl_secure_level=1"打开)
    
    Change-Id: I05fd4404aeebcb396c8471f181a30305fb9dbe74
    Signed-off-by: NFar <yesiyuan2@huawei.com>
    1d4c1642
malloc.c 13.8 KB