]> granicus.if.org Git - clang/commitdiff
Fix use after free.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 13 Feb 2016 13:42:41 +0000 (13:42 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 13 Feb 2016 13:42:41 +0000 (13:42 +0000)
Found by asan.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260814 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/Pragma.cpp

index f2a7e65e450ee0ad7abff27bc038a2522bd38233..ff10acc6adca020d4d910a218a65c378680b616a 100644 (file)
@@ -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".