From 199de39bf0e43e05924c7ba10f86acbdb9df7db5 Mon Sep 17 00:00:00 2001 From: Diego Novillo Date: Fri, 11 Apr 2014 13:55:56 +0000 Subject: Fix use-after-free bug caught by address sanitizer: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/2959 The location string is returned as a std::string, not a StringRef. llvm-svn: 206032 --- llvm/include/llvm/IR/DiagnosticInfo.h | 2 +- llvm/lib/IR/DiagnosticInfo.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/include/llvm/IR/DiagnosticInfo.h b/llvm/include/llvm/IR/DiagnosticInfo.h index fb3c9b6302d..8e6f949b2f3 100644 --- a/llvm/include/llvm/IR/DiagnosticInfo.h +++ b/llvm/include/llvm/IR/DiagnosticInfo.h @@ -267,7 +267,7 @@ public: /// Return a string with the location information for this diagnostic /// in the format "file:line:col". If location information is not available, /// it returns ":0:0". - const StringRef getLocationStr() const; + const std::string getLocationStr() const; /// Return location information for this diagnostic in three parts: /// the source file name, line number and column. diff --git a/llvm/lib/IR/DiagnosticInfo.cpp b/llvm/lib/IR/DiagnosticInfo.cpp index 82cc0ed47b7..3f8100f985d 100644 --- a/llvm/lib/IR/DiagnosticInfo.cpp +++ b/llvm/lib/IR/DiagnosticInfo.cpp @@ -80,7 +80,7 @@ void DiagnosticInfoOptimizationRemark::getLocation(StringRef *Filename, *Column = DIL.getColumnNumber(); } -const StringRef DiagnosticInfoOptimizationRemark::getLocationStr() const { +const std::string DiagnosticInfoOptimizationRemark::getLocationStr() const { StringRef Filename(""); unsigned Line = 0; unsigned Column = 0; -- cgit v1.2.3