[llvm] r206032 - Fix use-after-free bug caught by address sanitizer:

Diego Novillo dnovillo at google.com
Fri Apr 11 06:55:56 PDT 2014


Author: dnovillo
Date: Fri Apr 11 08:55:56 2014
New Revision: 206032

URL: http://llvm.org/viewvc/llvm-project?rev=206032&view=rev
Log:
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.

Modified:
    llvm/trunk/include/llvm/IR/DiagnosticInfo.h
    llvm/trunk/lib/IR/DiagnosticInfo.cpp

Modified: llvm/trunk/include/llvm/IR/DiagnosticInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DiagnosticInfo.h?rev=206032&r1=206031&r2=206032&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/DiagnosticInfo.h (original)
+++ llvm/trunk/include/llvm/IR/DiagnosticInfo.h Fri Apr 11 08:55:56 2014
@@ -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 "<unknown>: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.

Modified: llvm/trunk/lib/IR/DiagnosticInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DiagnosticInfo.cpp?rev=206032&r1=206031&r2=206032&view=diff
==============================================================================
--- llvm/trunk/lib/IR/DiagnosticInfo.cpp (original)
+++ llvm/trunk/lib/IR/DiagnosticInfo.cpp Fri Apr 11 08:55:56 2014
@@ -80,7 +80,7 @@ void DiagnosticInfoOptimizationRemark::g
   *Column = DIL.getColumnNumber();
 }
 
-const StringRef DiagnosticInfoOptimizationRemark::getLocationStr() const {
+const std::string DiagnosticInfoOptimizationRemark::getLocationStr() const {
   StringRef Filename("<unknown>");
   unsigned Line = 0;
   unsigned Column = 0;





More information about the llvm-commits mailing list