1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-09-19 20:16:10 +08:00

Fix use after free in CKeyValues3Context::PurgeClusterNodeChain

This commit is contained in:
GAMMACASE
2025-08-15 17:24:38 +03:00
parent f90f863275
commit 30a56b0bf2

View File

@ -1612,8 +1612,11 @@ inline void CKeyValues3ContextBase::NodeList<NODE>::Purge()
template<typename CLUSTER> template<typename CLUSTER>
inline void CKeyValues3Context::PurgeClusterNodeChain( ClusterNodeChain<CLUSTER> &cluster_node ) 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()) if(node->IsAllocatedOnHeap())
{ {
node->Purge(); node->Purge();