Index: /trunk/src/VBox/VMM/VMMR3/DBGFInfo.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFInfo.cpp	(revision 68254)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFInfo.cpp	(revision 68255)
@@ -501,16 +501,19 @@
          * Free all owned by the device.
          */
-        for (; pInfo; pPrev = pInfo, pInfo = pInfo->pNext)
+        while (pInfo != NULL)
             if (    pInfo->enmType == DBGFINFOTYPE_DEV
                 &&  pInfo->u.Dev.pDevIns == pDevIns)
             {
+                PDBGFINFO volatile pFree = pInfo;
                 if (pPrev)
-                    pPrev->pNext = pInfo->pNext;
+                    pInfo = pPrev->pNext = pInfo->pNext;
                 else
-                    pUVM->dbgf.s.pInfoFirst = pInfo->pNext;
-                MMR3HeapFree(pInfo);
-                pInfo = pPrev;
-                if (!pInfo)
-                    break;
+                    pInfo = pUVM->dbgf.s.pInfoFirst = pInfo->pNext;
+                MMR3HeapFree(pFree);
+            }
+            else
+            {
+                pPrev = pInfo;
+                pInfo = pInfo->pNext;
             }
         rc = VINF_SUCCESS;
@@ -575,14 +578,19 @@
          * Free all owned by the driver.
          */
-        for (; pInfo; pPrev = pInfo, pInfo = pInfo->pNext)
+        while (pInfo != NULL)
             if (    pInfo->enmType == DBGFINFOTYPE_DRV
                 &&  pInfo->u.Drv.pDrvIns == pDrvIns)
             {
+                PDBGFINFO volatile pFree = pInfo;
                 if (pPrev)
-                    pPrev->pNext = pInfo->pNext;
+                    pInfo = pPrev->pNext = pInfo->pNext;
                 else
-                    pUVM->dbgf.s.pInfoFirst = pInfo->pNext;
-                MMR3HeapFree(pInfo);
-                pInfo = pPrev;
+                    pInfo = pUVM->dbgf.s.pInfoFirst = pInfo->pNext;
+                MMR3HeapFree(pFree);
+            }
+            else
+            {
+                pPrev = pInfo;
+                pInfo = pInfo->pNext;
             }
         rc = VINF_SUCCESS;
