Correct handling invalid filename in llvm-symbolizer
authorAlexey Samsonov <samsonov@google.com>
Mon, 3 Jun 2013 14:12:39 +0000 (14:12 +0000)
committerAlexey Samsonov <samsonov@google.com>
Mon, 3 Jun 2013 14:12:39 +0000 (14:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183102 91177308-0d34-0410-b5e6-96231b3b80d8

test/DebugInfo/llvm-symbolizer.test
tools/llvm-symbolizer/LLVMSymbolize.cpp

index 163bd8ecb30b151fee33145360ffaf3508d82144..d094bf9b14659ba3ab505a6d178e831033a6c801 100644 (file)
@@ -23,3 +23,6 @@ CHECK-NEXT: dwarfdump-inl-test.cc:
 
 CHECK:       _Z3do1v
 CHECK-NEXT: dwarfdump-test3-decl.h:7
+
+RUN: echo "unexisting-file 0x1234" > %t.input2
+RUN: llvm-symbolizer < %t.input2
index 29d91a0e92a378b70ed58f9880809bbc00fccd88..2596a4e083480a9e8a47f640d212aaff9198e04c 100644 (file)
@@ -200,8 +200,8 @@ static bool getObjectEndianness(const ObjectFile *Obj, bool &IsLittleEndian) {
 
 static ObjectFile *getObjectFile(const std::string &Path) {
   OwningPtr<MemoryBuffer> Buff;
-  if (error_code ec = MemoryBuffer::getFile(Path, Buff))
-    error(ec);
+  if (error(MemoryBuffer::getFile(Path, Buff)))
+    return 0;
   return ObjectFile::createObjectFile(Buff.take());
 }