From: Alexey Samsonov Date: Mon, 3 Jun 2013 14:12:39 +0000 (+0000) Subject: Correct handling invalid filename in llvm-symbolizer X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=625b109916a6c8eaf77dd56cdce74aaea08ee731;p=oota-llvm.git Correct handling invalid filename in llvm-symbolizer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183102 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/DebugInfo/llvm-symbolizer.test b/test/DebugInfo/llvm-symbolizer.test index 163bd8ecb30..d094bf9b146 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 29d91a0e92a..2596a4e0834 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 Buff; - if (error_code ec = MemoryBuffer::getFile(Path, Buff)) - error(ec); + if (error(MemoryBuffer::getFile(Path, Buff))) + return 0; return ObjectFile::createObjectFile(Buff.take()); }