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 8c6df1d..fd407b5 100644
--- a/unittests/Lex/PPCallbacksTest.cpp
+++ b/unittests/Lex/PPCallbacksTest.cpp
@@ -85,7 +85,7 @@
class PragmaOpenCLExtensionCallbacks : public PPCallbacks {
public:
typedef struct {
- StringRef Name;
+ SmallString<16> Name;
unsigned State;
} CallbackParameters;
@@ -95,13 +95,13 @@
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 @@
}
PragmaOpenCLExtensionCallbacks::CallbackParameters RetVal = {
- Callbacks->Name.str(),
+ Callbacks->Name,
Callbacks->State
};
return RetVal;