diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-06-09 17:55:42 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-06-09 17:55:42 +0000 |
commit | ce2bd42c852d229fa07ff64b85d0715cc7a24d33 (patch) | |
tree | ceb9e2b5af894464cfd86b11f4a6e467214d0415 /lib/ASTMatchers | |
parent | 38ed6a1f94bdcc560f4d1968e69052d0d9e29711 (diff) |
[ASTMatchers] Fix use after free.
Found by asan.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@305094 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ASTMatchers')
-rw-r--r-- | lib/ASTMatchers/Dynamic/Parser.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/ASTMatchers/Dynamic/Parser.cpp b/lib/ASTMatchers/Dynamic/Parser.cpp index ff5c5fb657..f5bd296689 100644 --- a/lib/ASTMatchers/Dynamic/Parser.cpp +++ b/lib/ASTMatchers/Dynamic/Parser.cpp @@ -206,7 +206,8 @@ private: if (isFloatingLiteral) { char *end; errno = 0; - double doubleValue = strtod(Result->Text.str().c_str(), &end); + std::string Text = Result->Text.str(); + double doubleValue = strtod(Text.c_str(), &end); if (*end == 0 && errno == 0) { Result->Kind = TokenInfo::TK_Literal; Result->Value = doubleValue; |