[clang-tools-extra] r256562 - [clang-tidy] Fix a use-after-free bug found by asan

Alexander Kornienko via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 29 08:14:38 PST 2015


Author: alexfh
Date: Tue Dec 29 10:14:38 2015
New Revision: 256562

URL: http://llvm.org/viewvc/llvm-project?rev=256562&view=rev
Log:
[clang-tidy] Fix a use-after-free bug found by asan

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

Modified: clang-tools-extra/trunk/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/readability/SimplifyBooleanExprCheck.cpp?rev=256562&r1=256561&r2=256562&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/readability/SimplifyBooleanExprCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/readability/SimplifyBooleanExprCheck.cpp Tue Dec 29 10:14:38 2015
@@ -491,9 +491,10 @@ void SimplifyBooleanExprCheck::check(con
 bool containsDiscardedTokens(
     const ast_matchers::MatchFinder::MatchResult &Result,
     CharSourceRange CharRange) {
-  StringRef ReplacementText =
+  std::string ReplacementText =
       Lexer::getSourceText(CharRange, *Result.SourceManager,
-                           Result.Context->getLangOpts()).str();
+                           Result.Context->getLangOpts())
+          .str();
   Lexer Lex(CharRange.getBegin(), Result.Context->getLangOpts(),
             ReplacementText.data(), ReplacementText.data(),
             ReplacementText.data() + ReplacementText.size());




More information about the cfe-commits mailing list