From 74ecbd5babae58907e6338a5f79ec4eb4401c0dc Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Mon, 14 Oct 2013 07:13:59 +0000 Subject: [PATCH] Fix use-after-free in PPCallbacksTest detected by ASan bootstrap bot git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192572 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Lex/PPCallbacksTest.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/unittests/Lex/PPCallbacksTest.cpp b/unittests/Lex/PPCallbacksTest.cpp index 8c6df1d00a..fd407b52c6 100644 --- a/unittests/Lex/PPCallbacksTest.cpp +++ b/unittests/Lex/PPCallbacksTest.cpp @@ -85,7 +85,7 @@ public: class PragmaOpenCLExtensionCallbacks : public PPCallbacks { public: typedef struct { - StringRef Name; + SmallString<16> Name; unsigned State; } CallbackParameters; @@ -95,13 +95,13 @@ public: clang::SourceLocation NameLoc, const clang::IdentifierInfo *Name, clang::SourceLocation StateLoc, unsigned State) { this->NameLoc = NameLoc; - this->Name = Name->getName().str(); + this->Name = Name->getName(); this->StateLoc = StateLoc; this->State = State; }; SourceLocation NameLoc; - StringRef Name; + SmallString<16> Name; SourceLocation StateLoc; unsigned State; }; @@ -230,7 +230,7 @@ protected: } PragmaOpenCLExtensionCallbacks::CallbackParameters RetVal = { - Callbacks->Name.str(), + Callbacks->Name, Callbacks->State }; return RetVal; -- 2.40.0