diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2024-08-14 19:37:14 +0000 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2024-08-14 19:37:14 +0000 |
| commit | 901c9daa05ec817c3a0f7aad87a928cfcfe00ce2 (patch) | |
| tree | 0d527a0fbc7d36ddbe0d41a960bc1db53b66ae6f /compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp | |
| parent | 7c972d75dca7d1ef0e5a7d356cdc4d61afcd739f (diff) | |
| download | rust-901c9daa05ec817c3a0f7aad87a928cfcfe00ce2.tar.gz rust-901c9daa05ec817c3a0f7aad87a928cfcfe00ce2.zip | |
Fix null pointer dereference when a file is not an object file
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp index d119a995c61..d625935d925 100644 --- a/compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp @@ -80,6 +80,9 @@ LLVMRustGetSymbols(char *BufPtr, size_t BufLen, void *State, return ErrorCallback(toString(ObjOrErr.takeError()).c_str()); } std::unique_ptr<object::SymbolicFile> Obj = std::move(*ObjOrErr); + if (Obj == nullptr) { + return 0; + } for (const object::BasicSymbolRef &S : Obj->symbols()) { if (!isArchiveSymbol(S)) |
