diff --git a/VTIL-Common/util/detached_queue.hpp b/VTIL-Common/util/detached_queue.hpp index 0f22dc98..cc22af05 100644 --- a/VTIL-Common/util/detached_queue.hpp +++ b/VTIL-Common/util/detached_queue.hpp @@ -146,7 +146,7 @@ namespace vtil k->prev = nullptr; k->next = head; - if ( head ) head->prev = k; + if ( head && head != key::invalid_value) head->prev = k; if ( !tail ) tail = k; head = k; list_size++; @@ -169,10 +169,10 @@ namespace vtil { std::lock_guard _g( *this ); - if ( k->prev ) k->prev->next = k->next; + if ( k->prev && k->prev != key::invalid_value) k->prev->next = k->next; else head = k->next; - if ( k->next ) k->next->prev = k->prev; + if ( k->next && k->next != key::invalid_value) k->next->prev = k->prev; else tail = k->prev; k->prev = key::invalid_value;