diff --git a/bash-4.4-patches.tar.bz2 b/bash-4.4-patches.tar.bz2 index f62d17c6..d586e9de 100644 --- a/bash-4.4-patches.tar.bz2 +++ b/bash-4.4-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d86684f8611c66689730646c48392d47ce52c680da9b3269178778097fac57fc -size 10625 +oid sha256:8c161f78c916668078676da505aad2756202cbfee895d714091bfdc5c836e1fd +size 12693 diff --git a/bash-4.4-wait-sigint-handler.patch b/bash-4.4-wait-sigint-handler.patch deleted file mode 100644 index fd54eeaa..00000000 --- a/bash-4.4-wait-sigint-handler.patch +++ /dev/null @@ -1,29 +0,0 @@ -Repeating self-calling of traps due the combination of a non-interactive -shell, a trap handler for SIGINT, an external process in the trap handler, -and a SIGINT within the trap after the external process runs. - ---- - jobs.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - ---- jobs.c -+++ jobs.c 2018-04-02 18:24:21.000000000 +0000 -@@ -2662,7 +2662,17 @@ wait_for (pid) - wait_sigint_received = child_caught_sigint = 0; - if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB)) - { -- old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); -+ SigHandler *temp_sigint_handler; -+ -+ temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); -+ if (temp_sigint_handler == wait_sigint_handler) -+ { -+#if defined (DEBUG) -+ internal_warning ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap); -+#endif -+ } -+ else -+ old_sigint_handler = temp_sigint_handler; - waiting_for_child = 0; - if (old_sigint_handler == SIG_IGN) - set_signal_handler (SIGINT, old_sigint_handler); diff --git a/bash.changes b/bash.changes index fc52fb3a..d4866759 100644 --- a/bash.changes +++ b/bash.changes @@ -3,6 +3,26 @@ Mon Jun 4 09:21:15 UTC 2018 - werner@suse.de - In patch bash-4.4.dif avoud setgroups(2) but use initgroups(3) (boo#1095670) +------------------------------------------------------------------- +Sat Jun 2 17:17:13 UTC 2018 - avindra@opensuse.org + +- Add patch 20, 21, 22 and 23 to bash-4.4-patches.tar.bz2 + * 20: In circumstances involving long-running scripts that create + and reap many processes, it is possible for the hash table bash + uses to store exit statuses from asynchronous processes to + develop loops. This patch fixes the loop causes and adds code + to detect any future loops. + * 21: A SIGINT received inside a SIGINT trap handler can possibly + cause the shell to loop. + * 22: There are cases where a failing readline command (e.g., + delete-char at the end of a line) can cause a multi-character + key sequence to `back up' and attempt to re-read some of the + characters in the sequence. + * 23: When sourcing a file from an interactive shell, setting the + SIGINT handler to the default and typing ^C will cause the + shell to exit. +- remove bash-4.4-wait-sigint-handler.patch (upstreamed) + ------------------------------------------------------------------- Wed Apr 18 10:49:26 UTC 2018 - werner@suse.de diff --git a/bash.spec b/bash.spec index f3bb922e..466e94f1 100644 --- a/bash.spec +++ b/bash.spec @@ -83,8 +83,6 @@ Patch47: bash-4.3-perl522.patch Patch48: bash-4.3-extra-import-func.patch # PATCH-EXTEND-SUSE Allow root to clean file system if filled up Patch49: bash-4.3-pathtemp.patch -# PATCH-FIX-UPSTREAM bnc#1086247 -Patch50: bash-4.4-wait-sigint-handler.patch %global _sysconfdir /etc %global _incdir %{_includedir} %global _ldldir /%{_lib}/bash @@ -226,7 +224,6 @@ done %patch48 -b .eif %endif %patch49 -p0 -b .pthtmp -%patch50 -p0 -b .trap %patch0 -p0 -b .0 # This has to be always the same version as included in the bash its self rl1=($(sed -rn '/RL_READLINE_VERSION/p' lib/readline/readline.h))