힙(heap)/glibc
힙 보안검사(지속적으로 추가 예정)
youngsouk
2019. 8. 5. 01:31
- unlink
- 대상 청크의 크기와 다음 청크의 prev_size 대조
- 대상 청크의 fd (이 청크 직전에 free된 청크)의 bk가 대상 청크와 같은지 확인
- 대상 청크의 bk (이 청크 직후에 free된 처크)의 fd가 대상 청크와 같은지 확인
- smallbin 범위(32비트일경우 512바이트미만 64비트일경우 1024바이트미만)가 아닐때(즉 largebin에 들어갈 크기 일때) && 대상 청크의 fd_nextsize가 null이 아닐때
- fd_nextsize(대상 청크 직전에 free된청크)의 bk_nextsize가 대상청크인지 확인
- bk_nextsize(대상 청크 직후에 free된 청크)의 fd_nextsize가 대상청크인지 확인
large bin 은 fd_nextsize와 bk_nextsize를 통해 circular double linked list를 통해 관리