diff options
-rw-r--r-- | Source/kwsys/ProcessUNIX.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c index 96d1afb..318a99f 100644 --- a/Source/kwsys/ProcessUNIX.c +++ b/Source/kwsys/ProcessUNIX.c @@ -1044,20 +1044,21 @@ static int kwsysProcessInitialize(kwsysProcess* cp) memset(cp->CommandExitCodes, 0, sizeof(int)*cp->NumberOfCommands); /* Allocate memory to save the real working directory. */ - { + if ( cp->WorkingDirectory ) + { #if defined(MAXPATHLEN) - cp->RealWorkingDirectoryLength = MAXPATHLEN; + cp->RealWorkingDirectoryLength = MAXPATHLEN; #elif defined(PATH_MAX) - cp->RealWorkingDirectoryLength = PATH_MAX; + cp->RealWorkingDirectoryLength = PATH_MAX; #else - cp->RealWorkingDirectoryLength = 4096; + cp->RealWorkingDirectoryLength = 4096; #endif - cp->RealWorkingDirectory = malloc(cp->RealWorkingDirectoryLength); - if(!cp->RealWorkingDirectory) - { - return 0; + cp->RealWorkingDirectory = malloc(cp->RealWorkingDirectoryLength); + if(!cp->RealWorkingDirectory) + { + return 0; + } } - } return 1; } |