[clang-tools-extra] 5cb13bf - [NFC][clang-tidy]increase stability for bugprone-return-const-ref-from-parameter (#91160)

via cfe-commits cfe-commits at lists.llvm.org
Mon May 6 08:46:18 PDT 2024


Author: Congcong Cai
Date: 2024-05-06T23:46:14+08:00
New Revision: 5cb13bfd897f5d69439058d3cd7b1af8a37c7e42

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

LOG: [NFC][clang-tidy]increase stability for bugprone-return-const-ref-from-parameter (#91160)

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
index b3f7dd6d1c86f8..cacba38b4a5aa8 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
@@ -29,10 +29,13 @@ void ReturnConstRefFromParameterCheck::registerMatchers(MatchFinder *Finder) {
 void ReturnConstRefFromParameterCheck::check(
     const MatchFinder::MatchResult &Result) {
   const auto *R = Result.Nodes.getNodeAs<ReturnStmt>("ret");
-  diag(R->getRetValue()->getBeginLoc(),
-       "returning a constant reference parameter may cause a use-after-free "
+  const SourceRange Range = R->getRetValue()->getSourceRange();
+  if (Range.isInvalid())
+    return;
+  diag(Range.getBegin(),
+       "returning a constant reference parameter may cause use-after-free "
        "when the parameter is constructed from a temporary")
-      << R->getRetValue()->getSourceRange();
+      << Range;
 }
 
 } // namespace clang::tidy::bugprone


        


More information about the cfe-commits mailing list