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