[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
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 @@
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 @@
<< ":\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);
}