slackware-current/source/a/bash/bash-5.1-patches/bash51-010

60 lines
1.7 KiB
Text
Raw Normal View History

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_ */