From 2193e23cd72731c0d46a4ca8f09efe88b1c5f7b2 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sat, 13 Feb 2016 13:42:41 +0000 Subject: Fix use after free. Found by asan. llvm-svn: 260814 --- clang/lib/Lex/Pragma.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clang/lib/Lex/Pragma.cpp') 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". -- cgit v1.2.3