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

Benjamin Kramer via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 29 08:22:46 PST 2015


On Tue, Dec 29, 2015 at 5:14 PM, Alexander Kornienko via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> 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();

Can you just drop the .str() and change the type back to StringRef?

- Ben

>    Lexer Lex(CharRange.getBegin(), Result.Context->getLangOpts(),
>              ReplacementText.data(), ReplacementText.data(),
>              ReplacementText.data() + ReplacementText.size());
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list