diff options
author | Bertrand SIMONNET <bsimonnet@chromium.org> | 2015-07-23 13:25:22 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-07-24 04:17:11 +0000 |
commit | 6755ff9b2f87bdb3fa84299ae974cbb67100eb52 (patch) | |
tree | e96b5288cbf60a67f9b72fb103968bcac3039f56 /chromeos | |
parent | 793c7cf2dd99b07ec99dc8f057960564db3e69e5 (diff) | |
download | platform_external_libbrillo-6755ff9b2f87bdb3fa84299ae974cbb67100eb52.tar.gz platform_external_libbrillo-6755ff9b2f87bdb3fa84299ae974cbb67100eb52.tar.bz2 platform_external_libbrillo-6755ff9b2f87bdb3fa84299ae974cbb67100eb52.zip |
libchromeos: process.cc fail cleanly when no arguments are specified.
If we attempt to spawn a process to run an executable, fail early
instead of waiting for the call to fail.
BUG=None
TEST=unittests pass.
TEST=trybot run on daisy, link, lumpy, mips.
Change-Id: I1742101eb47787b948b20d4129a8b1893dba0568
Reviewed-on: https://chromium-review.googlesource.com/287864
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
Trybot-Ready: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Diffstat (limited to 'chromeos')
-rw-r--r-- | chromeos/process.cc | 4 | ||||
-rw-r--r-- | chromeos/process_test.cc | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/chromeos/process.cc b/chromeos/process.cc index a4e77ba..650d3d3 100644 --- a/chromeos/process.cc +++ b/chromeos/process.cc @@ -146,6 +146,10 @@ bool ProcessImpl::PopulatePipeMap() { } bool ProcessImpl::Start() { + // If no arguments are provided, fail. + if (arguments_.empty()) { + return false; + } scoped_ptr<char*[]> argv(new char*[arguments_.size() + 1]); for (size_t i = 0; i < arguments_.size(); ++i) diff --git a/chromeos/process_test.cc b/chromeos/process_test.cc index 8ecb90f..f30d828 100644 --- a/chromeos/process_test.cc +++ b/chromeos/process_test.cc @@ -251,7 +251,7 @@ TEST_F(ProcessTest, WithIllegalGid) { } TEST_F(ProcessTest, NoParams) { - EXPECT_EQ(static_cast<pid_t>(Process::kErrorExitStatus), process_.Run()); + EXPECT_EQ(-1, process_.Run()); } TEST_F(ProcessTest, SegFaultHandling) { |