1.保护机制
if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) malloc_printerr (check_action, "corrupted double-linked list", P);
这个就是所谓的堆指针的check。
FD其实就是p->fd
BK其实就是p->bk
就是说:p->fd->bk=p
p->bk->fd=p
就是做这么一个验证。
过这个验证,需要伪造一个新块才行。
时间: 2025-01-06 05:16:58