https://jkilopu.github.io/2021/05/12/glibc各版本的堆保护/
2.23
fastbin:对size和对应fastbinsize的校验
smallbin:完整性的检查(并不完整)
/code bck→fd==victim
unsortedbin:检查victim size是否合理
对bck→fd是否等于victim进行校验(甚至堆块切割的时候也有校验)
unlink:对双向链表(largebin)增加对完整性的校验
/code if (__builtin_expect (fd->bk != p || bk->fd != p, 0)) malloc_printerr ("corrupted double-linked list");
对largebin 增加对nextsize系列的完整性校验
2.27
tcache:最原始状态 并无什么校验
unlink:新增对presize和size的一致性校验 /code if (chunksize (p) != prev_size (next_chunk (p))) malloc_printerr ("corrupted size vs.
2.28∶
unsortedbin:新增对链表完整性的校验
也就是会校验victim→fd是否等于unsortedbin头 不影响unsortedbin写入一个大值
2.29:
tcache:结构体新增key字段(放在了bk字段)导致无法随意分配