1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Fix a crash when 'kill %%' and 'kill %+' are run (#35)

Ksh was trying to use the 'pw' variable as a valid pointer even
when it was NULL. This is fixed by doing the error check for
'pw' before doing anything else in 'job_kill'.

This bugfix is from Red Hat:
44e0a643a9/f/SOURCES/ksh-20130214-fixkill.patch

Fixes #34
This commit is contained in:
Johnothan King 2020-06-22 10:11:19 -07:00 committed by Martijn Dekker
parent 3ba4900e9c
commit ff358f3464
4 changed files with 13 additions and 3 deletions

View file

@ -1111,6 +1111,8 @@ static struct process *job_bystring(register char *ajob)
int job_kill(register struct process *pw,register int sig)
{
if(!pw)
goto error;
Shell_t *shp = pw->p_shp;
register pid_t pid;
register int r;
@ -1122,8 +1124,6 @@ int job_kill(register struct process *pw,register int sig)
#endif /* SIGTSTP */
job_lock();
errno = ECHILD;
if(pw==0)
goto error;
pid = pw->p_pid;
#if SHOPT_COSHELL
if(pw->p_cojob)