https://github.com/anutosh491 created https://github.com/llvm/llvm-project/pull/165852
I was trying to play around with clang-repl out of process on my linux machine and I came across these vulnerabilities. >From e3dd957efda1570d20dc079aaba9718c540bfb62 Mon Sep 17 00:00:00 2001 From: anutosh491 <[email protected]> Date: Fri, 31 Oct 2025 16:31:29 +0530 Subject: [PATCH] Fixing vulnerabilities with respect to orc runtime --- clang/lib/Interpreter/Interpreter.cpp | 6 +++--- clang/tools/clang-repl/ClangRepl.cpp | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index cde354c9cd8d1..21e03bbfd532a 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -421,9 +421,6 @@ Interpreter::getOrcRuntimePath(const driver::ToolChain &TC) { llvm::Expected<std::unique_ptr<Interpreter>> Interpreter::create(std::unique_ptr<CompilerInstance> CI, JITConfig Config) { - llvm::Error Err = llvm::Error::success(); - - std::unique_ptr<llvm::orc::LLJITBuilder> JB; if (Config.IsOutOfProcess) { const TargetInfo &TI = CI->getTarget(); @@ -453,6 +450,9 @@ Interpreter::create(std::unique_ptr<CompilerInstance> CI, JITConfig Config) { } } + llvm::Error Err = llvm::Error::success(); + std::unique_ptr<llvm::orc::LLJITBuilder> JB; + auto Interp = std::unique_ptr<Interpreter>(new Interpreter( std::move(CI), Err, std::move(JB), /*Consumer=*/nullptr, Config)); if (auto E = std::move(Err)) diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index c7879422cd7df..c86a1314ac026 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/ClangRepl.cpp @@ -309,6 +309,7 @@ int main(int argc, const char **argv) { clang::Interpreter::JITConfig Config; Config.IsOutOfProcess = !OOPExecutor.empty() || !OOPExecutorConnect.empty(); Config.OOPExecutor = OOPExecutor; + Config.OrcRuntimePath = OrcRuntimePath; auto SizeOrErr = getSlabAllocSize(SlabAllocateSizeString); if (!SizeOrErr) { llvm::logAllUnhandledErrors(SizeOrErr.takeError(), llvm::errs(), "error: "); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
