BASH PATCH REPORT ================= Bash-Release: 5.2 Patch-ID: bash52-025 Bug-Reported-by: Andrew Neff Bug-Reference-ID: 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_ */