diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2016-02-13 13:42:41 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2016-02-13 13:42:41 +0000 |
commit | 2193e23cd72731c0d46a4ca8f09efe88b1c5f7b2 (patch) | |
tree | 21e3ac74cc72cbe1d4e07c6bd04484dffa9ab1c9 /clang | |
parent | 632d208c78cf7214a0baedd541c133eede30e7df (diff) | |
download | bcm5719-llvm-2193e23cd72731c0d46a4ca8f09efe88b1c5f7b2.tar.gz bcm5719-llvm-2193e23cd72731c0d46a4ca8f09efe88b1c5f7b2.zip |
Fix use after free.
Found by asan.
llvm-svn: 260814
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Lex/Pragma.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Lex/Pragma.cpp b/clang/lib/Lex/Pragma.cpp index f2a7e65e450..ff10acc6adc 100644 --- a/clang/lib/Lex/Pragma.cpp +++ b/clang/lib/Lex/Pragma.cpp @@ -1026,7 +1026,7 @@ public: diag::Flavor Flavor = WarningName[1] == 'W' ? diag::Flavor::WarningOrError : diag::Flavor::Remark; - StringRef Group = WarningName.substr(2); + StringRef Group = StringRef(WarningName).substr(2); bool unknownDiag = false; if (Group == "everything") { // Special handling for pragma clang diagnostic ... "-Weverything". |