53 lines
1.5 KiB
Plaintext
53 lines
1.5 KiB
Plaintext
|
BASH PATCH REPORT
|
||
|
=================
|
||
|
|
||
|
Bash-Release: 4.4
|
||
|
Patch-ID: bash44-023
|
||
|
|
||
|
Bug-Reported-by: Martijn Dekker <martijn@inlv.org>
|
||
|
Bug-Reference-ID: <5326d6b9-2625-1d32-3e6e-ad1d15462c09@inlv.org>
|
||
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00041.html
|
||
|
|
||
|
Bug-Description:
|
||
|
|
||
|
When sourcing a file from an interactive shell, setting the SIGINT handler
|
||
|
to the default and typing ^C will cause the shell to exit.
|
||
|
|
||
|
Patch (apply with `patch -p0'):
|
||
|
|
||
|
*** ../bash-4.4-patched/builtins/trap.def 2016-01-25 13:32:38.000000000 -0500
|
||
|
--- builtins/trap.def 2016-11-06 12:04:35.000000000 -0500
|
||
|
***************
|
||
|
*** 99,102 ****
|
||
|
--- 99,103 ----
|
||
|
|
||
|
extern int posixly_correct, subshell_environment;
|
||
|
+ extern int sourcelevel, running_trap;
|
||
|
|
||
|
int
|
||
|
***************
|
||
|
*** 213,216 ****
|
||
|
--- 214,220 ----
|
||
|
if (interactive)
|
||
|
set_signal_handler (SIGINT, sigint_sighandler);
|
||
|
+ /* special cases for interactive == 0 */
|
||
|
+ else if (interactive_shell && (sourcelevel||running_trap))
|
||
|
+ set_signal_handler (SIGINT, sigint_sighandler);
|
||
|
else
|
||
|
set_signal_handler (SIGINT, termsig_sighandler);
|
||
|
*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
||
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
||
|
***************
|
||
|
*** 26,30 ****
|
||
|
looks for to find the patch level (for the sccs version string). */
|
||
|
|
||
|
! #define PATCHLEVEL 22
|
||
|
|
||
|
#endif /* _PATCHLEVEL_H_ */
|
||
|
--- 26,30 ----
|
||
|
looks for to find the patch level (for the sccs version string). */
|
||
|
|
||
|
! #define PATCHLEVEL 23
|
||
|
|
||
|
#endif /* _PATCHLEVEL_H_ */
|