1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-09-20 04:26:03 +08:00

Fix use after free in CKeyValues3Context::PurgeClusterNodeChain

This commit is contained in:
GAMMACASE
2025-08-15 17:24:38 +03:00
parent f19256512d
commit 0b77d6c1f6

View File

@ -1612,8 +1612,11 @@ inline void CKeyValues3ContextBase::NodeList<NODE>::Purge()
template<typename CLUSTER>
inline void CKeyValues3Context::PurgeClusterNodeChain( ClusterNodeChain<CLUSTER> &cluster_node )
{
for(auto node = cluster_node.m_pTail; node; node = node->GetPrev())
CLUSTER *prev = nullptr;
for(auto node = cluster_node.m_pTail; node; node = prev)
{
prev = node->GetPrev();
if(node->IsAllocatedOnHeap())
{
node->Purge();