Profile

youngsouk

youngsouk

힙 보안검사(지속적으로 추가 예정)

  • 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를 통해 관리

https://www.javatpoint.com/circular-doubly-linked-list

'힙(heap) > glibc' 카테고리의 다른 글

__libc_free함수 분석  (0) 2019.08.09
__libc_malloc함수 분석  (0) 2019.08.09
__builtin_expect, likely, unlikely  (0) 2019.08.09
__libc_calloc 함수 분석  (0) 2019.08.09
tcache 분석  (0) 2019.08.08