https://github.com/thurstond created https://github.com/llvm/llvm-project/pull/216625
As reported in https://github.com/llvm/llvm-project/pull/216307#issuecomment-5311023374, the new tests fail on UBSan buildbots (e.g., https://lab.llvm.org/buildbot/#/builders/25/builds/19323) because the directory may be empty (only the file is initialized), and the StringRef from getDirectory() is default-initialized. This patch attempts to fix-forward by not hashing the output of getDirectory() if it is empty. >From fa97b03b1346cea4c0fcf404964241b81e8fc05a Mon Sep 17 00:00:00 2001 From: Thurston Dang <[email protected]> Date: Mon, 17 Aug 2026 02:43:25 +0000 Subject: [PATCH] [dyndbg][Clang] Avoid null pointer dereference from #216307 As reported in https://github.com/llvm/llvm-project/pull/216307#issuecomment-5311023374, the new tests fail on UBSan buildbots (e.g., https://lab.llvm.org/buildbot/#/builders/25/builds/19323) because the directory may be empty (only the file is initialized), and the StringRef from getDirectory() is default-initialized. This patch attempts to fix-forward by not hashing the output of getDirectory() if it is empty. --- clang/lib/CodeGen/BackendUtil.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 75c3d16e455f1..e55d242cde68a 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -1527,7 +1527,9 @@ static void createAndEmbedModuleForDynamicDebugging( // the same source file compiled twice won't generate unique hashes. Hash.update(CGOpts.CmdArgs); for (auto *CU : M->debug_compile_units()) { - Hash.update(CU->getDirectory()); + if (CU->getDirectory().size() > 0) + Hash.update(CU->getDirectory()); + Hash.update(CU->getFilename()); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
