From: Benjamin Kramer Date: Sat, 13 Feb 2016 13:42:41 +0000 (+0000) Subject: Fix use after free. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2aa010ad2ec237793d92028b110fca62d6bd1518;p=clang Fix use after free. Found by asan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260814 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp index f2a7e65e45..ff10acc6ad 100644 --- a/lib/Lex/Pragma.cpp +++ b/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".