This is a backport from bash-4.4-rc1 and might help to avoid to run onto a not existing child pointer, bnc#971410. --- jobs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- jobs.c +++ jobs.c 2016-04-01 08:32:53.898981856 +0000 @@ -2564,12 +2564,12 @@ itrace("wait_for: blocking wait for %d r of the last child in the pipeline is the significant one. If the command or job was terminated by a signal, note that value also. */ termination_state = (job != NO_JOB) ? job_exit_status (job) - : process_exit_status (child->status); + : (child ? process_exit_status (child->status) : EXECUTION_SUCCESS); last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job) - : process_exit_signal (child->status); + : (child ? process_exit_signal (child->status) : 0); /* XXX */ - if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || WIFSTOPPED (child->status)) + if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || (child && WIFSTOPPED (child->status))) termination_state = 128 + WSTOPSIG (child->status); if (job == NO_JOB || IS_JOBCONTROL (job))