--- ray/src/common/win_process.c 2005/09/19 11:30:10 3.6 +++ ray/src/common/win_process.c 2013/11/08 18:08:07 3.8 @@ -1,5 +1,5 @@ #ifndef lint -static char RCSid[]="$Id: win_process.c,v 3.6 2005/09/19 11:30:10 schorsch Exp $"; +static char RCSid[]="$Id: win_process.c,v 3.8 2013/11/08 18:08:07 greg Exp $"; #endif /* * Routines to communicate with separate process via dual pipes. @@ -185,7 +185,7 @@ error: /* cleanup */ if(hWrite) CloseHandle(hWrite); if(hCurProc) CloseHandle(hCurProc); proc->running = 0; - return 0; + return -1; /* There... Are we happy now? */ } @@ -279,7 +279,12 @@ open_process(SUBPROC *proc, char *av[]) char *cmdpath; char *cmdstr; + if (av == NULL || av[0] == NULL) { + fputs("Illegal call to open_process()!\n", stderr); + return -1; + } proc->running = 0; + if (av == NULL) { return -1; } cmdpath = getpath(av[0], getenv("PATH"), X_OK); cmdstr = quoted_cmdline(cmdpath, av+1); if (cmdstr == NULL) { return 0; }