[llvm] [llvm-symbolizer] Recognize AIX big archive (PR #150401)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 8 01:44:40 PDT 2025


================
@@ -716,9 +811,9 @@ LLVMSymbolizer::getOrCreateModuleInfo(StringRef ModuleName) {
       createModuleInfo(Objects.first, std::move(Context), ModuleName);
   if (ModuleOrErr) {
     auto I = Modules.find(ModuleName);
-    BinaryForPath.find(BinaryName)->second.pushEvictor([this, I]() {
-      Modules.erase(I);
-    });
+    auto BinIter = BinaryForPath.find(BinaryName);
+    if (BinIter != BinaryForPath.end())
----------------
midhuncodes7 wrote:

In some iterations the `BinaryForPath.find(BinaryName)` fails and returns `BinaryForPath.end()` but the previous code doesn't check for it, so it ends up calling `pushEvictor` on invalid memory. This results in a crash, hence a check is added.

https://github.com/llvm/llvm-project/pull/150401


More information about the llvm-commits mailing list