diff options
author | Alexey Samsonov <samsonov@google.com> | 2013-06-03 14:12:39 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2013-06-03 14:12:39 +0000 |
commit | 625b109916a6c8eaf77dd56cdce74aaea08ee731 (patch) | |
tree | 8a3eeaff1891df7b541a57e80820ed0d6c43be6c | |
parent | abff3aa8217049cffe6da77c91e510c66b8c2313 (diff) | |
download | llvm-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.test | 3 | ||||
-rw-r--r-- | tools/llvm-symbolizer/LLVMSymbolize.cpp | 4 |
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()); } |