aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorJames Henderson <jh7370@my.bristol.ac.uk>2018-10-29 14:17:08 +0000
committerJames Henderson <jh7370@my.bristol.ac.uk>2018-10-29 14:17:08 +0000
commitc1608c96f6cc87c067e009abff42800ed54451a5 (patch)
tree727ca182eae2c4684ebcf49c5499029316f13db2 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent31f48c50cdb63be7279b8343f1bbf7ef85496336 (diff)
downloadllvm-c1608c96f6cc87c067e009abff42800ed54451a5.zip
llvm-c1608c96f6cc87c067e009abff42800ed54451a5.tar.gz
llvm-c1608c96f6cc87c067e009abff42800ed54451a5.tar.bz2
[llvm-objdump] Don't crash when using `-a` on non-archives
This fixes PR39402. The crash was caused when dereferencing nullptr in DumpObject and printArchiveChild. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D53690 Patch by Xing GUO llvm-svn: 345503
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index a4fddf3..463408b 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -2309,8 +2309,8 @@ static void DumpObject(ObjectFile *o, const Archive *a = nullptr,
outs() << ":\tfile format " << o->getFileFormatName() << "\n\n";
}
- if (ArchiveHeaders && !MachOOpt)
- printArchiveChild(a->getFileName(), *c);
+ if (ArchiveHeaders && !MachOOpt && c)
+ printArchiveChild(ArchiveName, *c);
if (Disassemble)
DisassembleObject(o, Relocations);
if (Relocations && !Disassemble)
@@ -2363,8 +2363,8 @@ static void DumpObject(const COFFImportFile *I, const Archive *A,
<< ":\tfile format COFF-import-file"
<< "\n\n";
- if (ArchiveHeaders && !MachOOpt)
- printArchiveChild(A->getFileName(), *C);
+ if (ArchiveHeaders && !MachOOpt && C)
+ printArchiveChild(ArchiveName, *C);
if (SymbolTable)
printCOFFSymbolTable(I);
}