unlink
Code
Graphical Explanation
Check this great graphical explanation of the unlink process:
Security Checks
Angalia kama saizi iliyoonyeshwa ya kipande ni sawa na prev_size iliyoonyeshwa katika kipande kinachofuata
Angalia pia kwamba
P->fd->bk == P
naP->bk->fw == P
Ikiwa kipande si kidogo, angalia kwamba
P->fd_nextsize->bk_nextsize == P
naP->bk_nextsize->fd_nextsize == P
Leaks
Kipande kisichounganishwa hakifutii anwani zilizotolewa, hivyo kuwa na ufikiaji wa rad, inawezekana kuvuja anwani za kuvutia:
Libc Leaks:
Ikiwa P iko katika kichwa cha orodha iliyo na viungo viwili,
bk
itakuwa ikielekeza kwamalloc_state
katika libcIkiwa P iko mwishoni mwa orodha iliyo na viungo viwili,
fd
itakuwa ikielekeza kwamalloc_state
katika libcWakati orodha iliyo na viungo viwili ina kipande kimoja tu cha bure, P iko katika orodha iliyo na viungo viwili, na wote
fd
nabk
wanaweza kuvuja anwani ndani yamalloc_state
.
Heap leaks:
Ikiwa P iko katika kichwa cha orodha iliyo na viungo viwili,
fd
itakuwa ikielekeza kwa kipande kinachopatikana katika heapIkiwa P iko mwishoni mwa orodha iliyo na viungo viwili,
bk
itakuwa ikielekeza kwa kipande kinachopatikana katika heapIkiwa P iko katika orodha iliyo na viungo viwili, wote
fd
nabk
wataelekeza kwa kipande kinachopatikana katika heap
Last updated