summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-06-11 11:00:38 -0400
committerBrad King <brad.king@kitware.com>2010-06-11 11:00:38 -0400
commitb9e3c243d476efa04479d253cfc4f76ecbdb6fe3 (patch)
tree73c2c342e27bbed5a4c9b258a58998486c51bae7
parent60478de3e5032a0db59f27e913fef222fe767518 (diff)
downloadcmake-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.c8
-rw-r--r--Source/kwsys/ProcessWin32.c8
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))
{