Author: Simon Pilgrim
Date: 2022-02-12T19:59:30Z
New Revision: 5d1e3ed3e257535fbd51706023685d2c2d9eba51

URL: 
https://github.com/llvm/llvm-project/commit/5d1e3ed3e257535fbd51706023685d2c2d9eba51
DIFF: 
https://github.com/llvm/llvm-project/commit/5d1e3ed3e257535fbd51706023685d2c2d9eba51.diff

LOG: [clang-tidy] SimplifyBooleanExprCheck - use cast<> instead of dyn_cast<> 
to avoid dereference of nullptr

The IfStmt pointer is always referenced inside the 
replaceCompoundReturnWithCondition call, so assert the cast is correct instead 
of returning nullptr

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp

Removed: 
    


################################################################################
diff  --git 
a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
index 9c2ddf139a128..61ba4b857636c 100644
--- a/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
@@ -750,7 +750,7 @@ void 
SimplifyBooleanExprCheck::replaceCompoundReturnWithCondition(
 void SimplifyBooleanExprCheck::replaceCaseCompoundReturnWithCondition(
     const MatchFinder::MatchResult &Result, bool Negated) {
   const auto *CaseDefault = Result.Nodes.getNodeAs<CaseStmt>(CaseId);
-  const auto *If = dyn_cast<IfStmt>(CaseDefault->getSubStmt());
+  const auto *If = cast<IfStmt>(CaseDefault->getSubStmt());
   replaceCompoundReturnWithCondition(Result, Negated, If);
 }
 
@@ -758,14 +758,14 @@ void 
SimplifyBooleanExprCheck::replaceDefaultCompoundReturnWithCondition(
     const MatchFinder::MatchResult &Result, bool Negated) {
   const SwitchCase *CaseDefault =
       Result.Nodes.getNodeAs<DefaultStmt>(DefaultId);
-  const auto *If = dyn_cast<IfStmt>(CaseDefault->getSubStmt());
+  const auto *If = cast<IfStmt>(CaseDefault->getSubStmt());
   replaceCompoundReturnWithCondition(Result, Negated, If);
 }
 
 void SimplifyBooleanExprCheck::replaceLabelCompoundReturnWithCondition(
     const MatchFinder::MatchResult &Result, bool Negated) {
   const auto *Label = Result.Nodes.getNodeAs<LabelStmt>(LabelId);
-  const auto *If = dyn_cast<IfStmt>(Label->getSubStmt());
+  const auto *If = cast<IfStmt>(Label->getSubStmt());
   replaceCompoundReturnWithCondition(Result, Negated, If);
 }
 


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to