summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-06-03 14:12:39 +0000
committerAlexey Samsonov <samsonov@google.com>2013-06-03 14:12:39 +0000
commit625b109916a6c8eaf77dd56cdce74aaea08ee731 (patch)
tree8a3eeaff1891df7b541a57e80820ed0d6c43be6c
parentabff3aa8217049cffe6da77c91e510c66b8c2313 (diff)
downloadllvm-625b109916a6c8eaf77dd56cdce74aaea08ee731.tar.gz
llvm-625b109916a6c8eaf77dd56cdce74aaea08ee731.tar.bz2
llvm-625b109916a6c8eaf77dd56cdce74aaea08ee731.tar.xz
Correct handling invalid filename in llvm-symbolizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183102 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/DebugInfo/llvm-symbolizer.test3
-rw-r--r--tools/llvm-symbolizer/LLVMSymbolize.cpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/test/DebugInfo/llvm-symbolizer.test b/test/DebugInfo/llvm-symbolizer.test
index 163bd8ecb3..d094bf9b14 100644
--- a/test/DebugInfo/llvm-symbolizer.test
+++ b/test/DebugInfo/llvm-symbolizer.test
@@ -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
diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp
index 29d91a0e92..2596a4e083 100644
--- a/tools/llvm-symbolizer/LLVMSymbolize.cpp
+++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp
@@ -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());
}