From ed22939428be3bd676e4261cf96e144c15d4e686 Mon Sep 17 00:00:00 2001 From: wangyuhang Date: Tue, 2 Apr 2024 15:44:35 +0800 Subject: [PATCH] solve the problem of dereference null return value when moving a job to the head of the linked list --- src/cmd/ksh93/sh/jobs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cmd/ksh93/sh/jobs.c b/src/cmd/ksh93/sh/jobs.c index 5ad42c0..a46de01 100644 --- a/src/cmd/ksh93/sh/jobs.c +++ b/src/cmd/ksh93/sh/jobs.c @@ -1105,10 +1105,11 @@ int job_post(Shell_t *shp, pid_t pid, pid_t join) { val = job.curjobid; } // If job to join is not first move it to front. - if (val) { + if (val && job.pwlist) { pw = job_byjid(val); - assert(pw); - if (pw != job.pwlist) { + if (!pw) + errormsg(SH_DICT, ERROR_warn(0), "the job cannot be found in the linked list"); + if (pw && (pw != job.pwlist)) { job_unlink(pw); pw->p_nxtjob = job.pwlist; job.pwlist = pw; -- 2.33.0