26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
|
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))
|