Skip to content

Commit e15c5a5

Browse files
Merge pull request #4477 from tmiguelf:feature/soup_cleanup
PiperOrigin-RevId: 611133343 Change-Id: Ieef806f51fcbc2877805dae415f76d03547b8dfa
2 parents 3b6d48e + 4c676b9 commit e15c5a5

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

googletest/src/gtest-death-test.cc

+10-10
Original file line numberDiff line numberDiff line change
@@ -630,13 +630,13 @@ bool DeathTestImpl::Passed(bool status_ok) {
630630
#ifndef GTEST_OS_WINDOWS
631631
// Note: The return value points into args, so the return value's lifetime is
632632
// bound to that of args.
633-
static std::unique_ptr<char*[]> CreateArgvFromArgs(
634-
std::vector<std::string>& args) {
635-
auto result = std::make_unique<char*[]>(args.size() + 1);
636-
for (size_t i = 0; i < args.size(); ++i) {
637-
result[i] = &args[i][0];
633+
static std::vector<char*> CreateArgvFromArgs(std::vector<std::string>& args) {
634+
std::vector<char*> result;
635+
result.reserve(args.size() + 1);
636+
for (auto& arg : args) {
637+
result.push_back(&arg[0]);
638638
}
639-
result[args.size()] = nullptr; // extra null terminator
639+
result.push_back(nullptr); // Extra null terminator.
640640
return result;
641641
}
642642
#endif
@@ -1036,8 +1036,8 @@ DeathTest::TestRole FuchsiaDeathTest::AssumeRole() {
10361036
// "Fuchsia Test Component" which contains a "Fuchsia Component Manifest")
10371037
// Launching processes is a privileged operation in Fuchsia, and the
10381038
// declaration indicates that the ability is required for the component.
1039-
std::unique_ptr<char*[]> argv = CreateArgvFromArgs(args);
1040-
status = fdio_spawn_etc(child_job, FDIO_SPAWN_CLONE_ALL, argv[0], argv.get(),
1039+
std::vector<char*> argv = CreateArgvFromArgs(args);
1040+
status = fdio_spawn_etc(child_job, FDIO_SPAWN_CLONE_ALL, argv[0], argv.data(),
10411041
nullptr, 2, spawn_actions,
10421042
child_process_.reset_and_get_address(), nullptr);
10431043
GTEST_DEATH_TEST_CHECK_(status == ZX_OK);
@@ -1388,8 +1388,8 @@ DeathTest::TestRole ExecDeathTest::AssumeRole() {
13881388
// is necessary.
13891389
FlushInfoLog();
13901390

1391-
std::unique_ptr<char*[]> argv = CreateArgvFromArgs(args);
1392-
const pid_t child_pid = ExecDeathTestSpawnChild(argv.get(), pipe_fd[0]);
1391+
std::vector<char*> argv = CreateArgvFromArgs(args);
1392+
const pid_t child_pid = ExecDeathTestSpawnChild(argv.data(), pipe_fd[0]);
13931393
GTEST_DEATH_TEST_CHECK_SYSCALL_(close(pipe_fd[1]));
13941394
set_child_pid(child_pid);
13951395
set_read_fd(pipe_fd[0]);

0 commit comments

Comments
 (0)