summaryrefslogtreecommitdiffstats
path: root/source/a/bash/bash-5.2-patches/bash52-025
blob: 4e293f9d3aaca79b388f42efa83b532df862e5fe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
			     BASH PATCH REPORT
			     =================

Bash-Release:	5.2
Patch-ID:	bash52-025

Bug-Reported-by:	Andrew Neff <andrew.neff@visionsystemsinc.com>
Bug-Reference-ID:	<SA1P110MB1357F68AFD51BB225019EFF48D2B9@SA1P110MB1357.NAMP110.PROD.OUTLOOK.COM>
Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00100.html

Bug-Description:

Make sure a subshell checks for and handles any terminating signals before
exiting (which might have arrived after the command completed) so the parent
and any EXIT trap will see the correct value for $?.

Patch (apply with `patch -p0'):

*** ../bash-5.2.9/execute_cmd.c	2022-11-02 10:36:54.000000000 -0400
--- execute_cmd.c	2022-10-27 16:52:55.000000000 -0400
***************
*** 1726,1729 ****
--- 1726,1732 ----
  						     : EXECUTION_SUCCESS;
  
+   /* Check for terminating signals before we return to our caller, which we
+      expect to exit immediately anyway. */
+   CHECK_TERMSIG;
  
    /* If we were explicitly placed in a subshell with (), we need

*** ../bash-5.2/patchlevel.h	2020-06-22 14:51:03.000000000 -0400
--- patchlevel.h	2020-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 24
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 25
  
  #endif /* _PATCHLEVEL_H_ */