diff options
Diffstat (limited to 'source/a/bash/bash-5.1-patches/bash51-010')
-rw-r--r-- | source/a/bash/bash-5.1-patches/bash51-010 | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/source/a/bash/bash-5.1-patches/bash51-010 b/source/a/bash/bash-5.1-patches/bash51-010 new file mode 100644 index 000000000..cfe6fa46b --- /dev/null +++ b/source/a/bash/bash-5.1-patches/bash51-010 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.1 +Patch-ID: bash51-010 + +Bug-Reported-by: Jonas Alfredsson <jonas.alfredsson@protonmail.com> +Bug-Reference-ID: <LjAfZaEuZncr2RaqhSSfcaiXdkuK6kdEYxshP3LApXbgMVQzggMGyWHO9knVkXicW2fP-ibsipJ_GZ-YaJRm96Rsozf6PgFmPsljRCtflls=@protonmail.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-05/msg00059.html + +Bug-Description: + +If `wait -n' is interrupted by a trapped signal other than SIGINT, it does +not completely clean up state, and that can prevent subsequent calls to +`wait -n' from working correctly. + +Patch (apply with `patch -p0'): + +*** ../bash-5.1-patched/builtins/wait.def 2020-12-16 17:13:12.000000000 -0500 +--- builtins/wait.def 2021-11-17 10:25:15.000000000 -0500 +*************** +*** 112,116 **** + WORD_LIST *list; + { +! int status, code, opt, nflag, wflags; + char *vname; + SHELL_VAR *pidvar; +--- 112,117 ---- + WORD_LIST *list; + { +! int status, code, opt, nflag; +! volatile int wflags; + char *vname; + SHELL_VAR *pidvar; +*************** +*** 181,184 **** +--- 188,193 ---- + status = 128 + wait_signal_received; + wait_sigint_cleanup (); ++ if (wflags & JWAIT_WAITING) ++ unset_waitlist (); + WAIT_RETURN (status); + } + +*** ../bash-5.1/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 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ |