From: Alexey Samsonov Date: Mon, 14 Oct 2013 07:13:59 +0000 (+0000) Subject: Fix use-after-free in PPCallbacksTest detected by ASan bootstrap bot X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74ecbd5babae58907e6338a5f79ec4eb4401c0dc;p=clang 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 --- 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;