This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG355541a1b7a5: [lldb] Avoid using any shell when calling xcrun. (authored by teemperor). Herald added a subscriber: lldb-commits.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104653/new/ https://reviews.llvm.org/D104653 Files: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm =================================================================== --- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -383,17 +383,22 @@ auto xcrun = [](const std::string &sdk, llvm::StringRef developer_dir = "") -> std::string { - std::string xcrun_cmd = "xcrun --show-sdk-path --sdk " + sdk; - if (!developer_dir.empty()) - xcrun_cmd = "/usr/bin/env DEVELOPER_DIR=\"" + developer_dir.str() + - "\" " + xcrun_cmd; + Args args; + if (!developer_dir.empty()) { + args.AppendArgument("/usr/bin/env"); + args.AppendArgument("DEVELOPER_DIR=" + developer_dir.str()); + } + args.AppendArgument("/usr/bin/xcrun"); + args.AppendArgument("--show-sdk-path"); + args.AppendArgument("--sdk"); + args.AppendArgument(sdk); int status = 0; int signo = 0; std::string output_str; lldb_private::Status error = - Host::RunShellCommand(xcrun_cmd, FileSpec(), &status, &signo, - &output_str, std::chrono::seconds(15)); + Host::RunShellCommand(args, FileSpec(), &status, &signo, &output_str, + std::chrono::seconds(15)); // Check that xcrun return something useful. if (status != 0 || output_str.empty())
Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm =================================================================== --- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -383,17 +383,22 @@ auto xcrun = [](const std::string &sdk, llvm::StringRef developer_dir = "") -> std::string { - std::string xcrun_cmd = "xcrun --show-sdk-path --sdk " + sdk; - if (!developer_dir.empty()) - xcrun_cmd = "/usr/bin/env DEVELOPER_DIR=\"" + developer_dir.str() + - "\" " + xcrun_cmd; + Args args; + if (!developer_dir.empty()) { + args.AppendArgument("/usr/bin/env"); + args.AppendArgument("DEVELOPER_DIR=" + developer_dir.str()); + } + args.AppendArgument("/usr/bin/xcrun"); + args.AppendArgument("--show-sdk-path"); + args.AppendArgument("--sdk"); + args.AppendArgument(sdk); int status = 0; int signo = 0; std::string output_str; lldb_private::Status error = - Host::RunShellCommand(xcrun_cmd, FileSpec(), &status, &signo, - &output_str, std::chrono::seconds(15)); + Host::RunShellCommand(args, FileSpec(), &status, &signo, &output_str, + std::chrono::seconds(15)); // Check that xcrun return something useful. if (status != 0 || output_str.empty())
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits