3
0
Fork 0
forked from suyu/suyu

common: tree: Avoid a nullptr dereference.

This commit is contained in:
bunnei 2021-05-11 15:40:20 -07:00
parent 12d569e483
commit eee302b9b9

View file

@ -322,7 +322,7 @@ void RB_INSERT_COLOR(RBHead<Node>* head, Node* elm) {
template <typename Node> template <typename Node>
void RB_REMOVE_COLOR(RBHead<Node>* head, Node* parent, Node* elm) { void RB_REMOVE_COLOR(RBHead<Node>* head, Node* parent, Node* elm) {
Node* tmp; Node* tmp;
while ((elm == nullptr || RB_IS_BLACK(elm)) && elm != head->Root()) { while ((elm == nullptr || RB_IS_BLACK(elm)) && elm != head->Root() && parent != nullptr) {
if (RB_LEFT(parent) == elm) { if (RB_LEFT(parent) == elm) {
tmp = RB_RIGHT(parent); tmp = RB_RIGHT(parent);
if (RB_IS_RED(tmp)) { if (RB_IS_RED(tmp)) {