about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2024-08-14 19:37:14 +0000
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2024-08-14 19:37:14 +0000
commit901c9daa05ec817c3a0f7aad87a928cfcfe00ce2 (patch)
tree0d527a0fbc7d36ddbe0d41a960bc1db53b66ae6f /compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
parent7c972d75dca7d1ef0e5a7d356cdc4d61afcd739f (diff)
downloadrust-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.cpp3
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))