0028034: Application Framework - stack overflow in LDOM destructor
authorpdn <pdn@opencascade.com>
Tue, 1 Nov 2016 10:43:56 +0000 (13:43 +0300)
committerapn <apn@opencascade.com>
Tue, 8 Nov 2016 12:15:12 +0000 (15:15 +0300)
src/LDOM/LDOM_MemManager.cxx

index c45d4f0..ac169f0 100644 (file)
@@ -99,7 +99,14 @@ void * LDOM_MemManager::MemBlock::AllocateAndCheck
 LDOM_MemManager::MemBlock::~MemBlock ()
 {
   delete [] myBlock;
-  delete myNext;
+  MemBlock* aNext = myNext;
+  while (aNext) 
+  {
+    MemBlock* aNextNext = aNext->myNext;
+    aNext->myNext = 0;
+    delete aNext;
+    aNext = aNextNext;
+  }
 }
 
 //=======================================================================