owenpan updated this revision to Diff 434761.
owenpan edited the summary of this revision.
owenpan added a comment.

Rebased.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127183/new/

https://reviews.llvm.org/D127183

Files:
  clang/lib/Format/UnwrappedLineParser.cpp


Index: clang/lib/Format/UnwrappedLineParser.cpp
===================================================================
--- clang/lib/Format/UnwrappedLineParser.cpp
+++ clang/lib/Format/UnwrappedLineParser.cpp
@@ -864,6 +864,10 @@
   if (AddLevels > 0u && Style.BreakBeforeBraces != FormatStyle::BS_Whitesmiths)
     Line->Level += AddLevels;
 
+  // Bail out if there are too many levels. Otherwise, the stack might 
overflow.
+  if (Line->Level > 300)
+    return;
+
   const bool SimpleBlock =
       parseLevel(Tok, CanContainBracedList, NextLBracesType, IfKind);
 


Index: clang/lib/Format/UnwrappedLineParser.cpp
===================================================================
--- clang/lib/Format/UnwrappedLineParser.cpp
+++ clang/lib/Format/UnwrappedLineParser.cpp
@@ -864,6 +864,10 @@
   if (AddLevels > 0u && Style.BreakBeforeBraces != FormatStyle::BS_Whitesmiths)
     Line->Level += AddLevels;
 
+  // Bail out if there are too many levels. Otherwise, the stack might overflow.
+  if (Line->Level > 300)
+    return;
+
   const bool SimpleBlock =
       parseLevel(Tok, CanContainBracedList, NextLBracesType, IfKind);
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to