kernel/util: Clear list links on removal under KDEBUG.
This way, if someone tries to double-remove an item or do other invalid things to it, this will crash instead of (silently) corrupting.
This commit is contained in:
@@ -528,6 +528,10 @@ DOUBLY_LINKED_LIST_CLASS_NAME::Remove(Element* element)
|
|||||||
sGetLink(elLink->next)->previous = elLink->previous;
|
sGetLink(elLink->next)->previous = elLink->previous;
|
||||||
else
|
else
|
||||||
fLast = elLink->previous;
|
fLast = elLink->previous;
|
||||||
|
|
||||||
|
#if DEBUG_DOUBLY_LINKED_LIST
|
||||||
|
elLink->next = elLink->previous = NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,10 @@ list_remove_link(void *_link)
|
|||||||
|
|
||||||
link->next->prev = link->prev;
|
link->next->prev = link->prev;
|
||||||
link->prev->next = link->next;
|
link->prev->next = link->next;
|
||||||
|
|
||||||
|
#if DEBUG_DOUBLY_LINKED_LIST
|
||||||
|
link->prev = link->next = NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user