]> git.saurik.com Git - wxWidgets.git/commitdiff
limit recursion depth in DumpUDT() to prevent crashes when dumping linked lists
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 5 May 2005 20:15:35 +0000 (20:15 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 5 May 2005 20:15:35 +0000 (20:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/debughlp.cpp

index 5f5e75037e6f59cb5422aae989f6f1254981a35a..3752aa10b27fb5fd7eb2d91fd81ba07c47589e0a 100644 (file)
@@ -373,6 +373,13 @@ wxDbgHelpDLL::DumpField(PSYMBOL_INFO pSym, void *pVariable, unsigned level)
 wxDbgHelpDLL::DumpUDT(PSYMBOL_INFO pSym, void *pVariable, unsigned level)
 {
     wxString s;
+
+    // we have to limit the depth of UDT dumping as otherwise we get in
+    // infinite loops trying to dump linked lists... 10 levels seems quite
+    // reasonable, full information is in minidump file anyhow
+    if ( level > 10 )
+        return s;
+
     s.reserve(512);
     s = GetSymbolName(pSym);