diff options
author | Brad King <brad.king@kitware.com> | 2010-06-11 11:00:38 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-06-11 11:00:38 -0400 |
commit | b9e3c243d476efa04479d253cfc4f76ecbdb6fe3 (patch) | |
tree | 73c2c342e27bbed5a4c9b258a58998486c51bae7 | |
parent | 60478de3e5032a0db59f27e913fef222fe767518 (diff) | |
download | cmake-b9e3c243d476efa04479d253cfc4f76ecbdb6fe3.tar.gz |
KWSys: Teach Process to error on empty command
Do not try to execute a child with no command line. Previously this led
to a silent hang.
-rw-r--r-- | Source/kwsys/ProcessUNIX.c | 8 | ||||
-rw-r--r-- | Source/kwsys/ProcessWin32.c | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c index adadef15f3..9c66a44866 100644 --- a/Source/kwsys/ProcessUNIX.c +++ b/Source/kwsys/ProcessUNIX.c @@ -720,6 +720,14 @@ void kwsysProcess_Execute(kwsysProcess* cp) return; } + /* Make sure we have something to run. */ + if(cp->NumberOfCommands < 1) + { + strcpy(cp->ErrorMessage, "No command"); + cp->State = kwsysProcess_State_Error; + return; + } + /* Initialize the control structure for a new process. */ if(!kwsysProcessInitialize(cp)) { diff --git a/Source/kwsys/ProcessWin32.c b/Source/kwsys/ProcessWin32.c index c5ea6db206..5aa4d8bf6e 100644 --- a/Source/kwsys/ProcessWin32.c +++ b/Source/kwsys/ProcessWin32.c @@ -987,6 +987,14 @@ void kwsysProcess_Execute(kwsysProcess* cp) return; } + /* Make sure we have something to run. */ + if(cp->NumberOfCommands < 1) + { + strcpy(cp->ErrorMessage, "No command"); + cp->State = kwsysProcess_State_Error; + return; + } + /* Initialize the control structure for a new process. */ if(!kwsysProcessInitialize(cp)) { |