diff -up ksh-20130214/src/cmd/ksh93/sh/jobs.c.fixkill ksh-20130214/src/cmd/ksh93/sh/jobs.c --- ksh-20130214/src/cmd/ksh93/sh/jobs.c.fixkill 2012-09-26 17:43:04.000000000 +0200 +++ ksh-20130214/src/cmd/ksh93/sh/jobs.c 2013-02-22 16:38:05.080161740 +0100 @@ -1104,6 +1104,8 @@ static struct process *job_bystring(regi int job_kill(register struct process *pw,register int sig) { + if(pw==0) + goto error; Shell_t *shp = pw->p_shp; register pid_t pid; register int r; @@ -1127,8 +1129,6 @@ int job_kill(register struct process *pw #endif /* SIGTSTP */ job_lock(); errno = ECHILD; - if(pw==0) - goto error; pid = pw->p_pid; #if SHOPT_COSHELL if(pw->p_cojob)