Hello community, here is the log from the commit of package bash for openSUSE:Factory checked in at 2020-02-21 16:39:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bash (Old) and /work/SRC/openSUSE:Factory/.bash.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash" Fri Feb 21 16:39:52 2020 rev:160 rq:774145 version:5.0.11 Changes: -------- --- /work/SRC/openSUSE:Factory/bash/bash.changes 2019-10-25 18:37:40.243644634 +0200 +++ /work/SRC/openSUSE:Factory/.bash.new.26092/bash.changes 2020-02-21 16:40:06.721763788 +0100 @@ -1,0 +2,21 @@ +Thu Feb 13 10:56:07 UTC 2020 - Dr. Werner Fink <[email protected]> + +- Add official patch bash50-012 + When using previous-history to go back beyond the beginning of the history list, + it's possible to move to an incorrect partial line. +- Add official patch bash50-013 + Reading history entries with timestamps can result in history entries joined + by linefeeds. +- Add official patch bash50-014 + If the current line is empty, using the emacs C-xC-e binding to enter the + editor will edit the previous command instead of the current (empty) one. +- Add official patch bash50-015 + If alias expansion is enabled when processing the command argument to the + `-c' option, an alias is defined in that command, and the command ends with + the invocation of that alias, the shell's command parser can prematurely + terminate before the entire command is executed. +- Add official patch bash50-016 + Bash waits too long to reap /dev/fd process substitutions used as redirections + with loops and group commands, which can lead to file descriptor exhaustion. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash.spec ++++++ --- /var/tmp/diff_new_pack.CEx5ps/_old 2020-02-21 16:40:14.273778878 +0100 +++ /var/tmp/diff_new_pack.CEx5ps/_new 2020-02-21 16:40:14.309778950 +0100 @@ -1,7 +1,7 @@ # # spec file for package bash # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -33,7 +33,7 @@ Group: System/Shells Suggests: command-not-found Suggests: bash-doc = %version -Url: http://www.gnu.org/software/bash/bash.html +URL: http://www.gnu.org/software/bash/bash.html # Git: http://git.savannah.gnu.org/cgit/bash.git Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bversion}%{bextend}.tar.gz Source1: bash-%{bversion}-patches.tar.bz2 ++++++ bash-4.1-completion.dif ++++++ --- /var/tmp/diff_new_pack.CEx5ps/_old 2020-02-21 16:40:14.713779757 +0100 +++ /var/tmp/diff_new_pack.CEx5ps/_new 2020-02-21 16:40:14.713779757 +0100 @@ -4,7 +4,7 @@ --- bashline.c +++ bashline.c 2018-11-29 08:12:25.876588305 +0000 -@@ -2046,6 +2046,13 @@ globword: +@@ -2043,6 +2043,13 @@ globword: return ((char *)NULL); } ++++++ bash-5.0-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-010 new/bash-5.0-patches/bash50-010 --- old/bash-5.0-patches/bash50-010 2019-08-29 17:10:00.000000000 +0200 +++ new/bash-5.0-patches/bash50-010 2019-09-09 10:09:15.423839773 +0200 @@ -45,7 +45,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.0-patched/variables.c 2018-12-18 11:07:21.000000000 -0500 +*** variables.c 2018-12-18 11:07:21.000000000 -0500 --- variables.c 2019-08-22 10:53:44.000000000 -0400 *************** *** 4461,4467 **** @@ -136,7 +136,7 @@ + tempvar_list[tvlist_ind] = 0; -*** ../bash-5.0-patched/tests/varenv.right 2018-12-17 15:39:48.000000000 -0500 +*** tests/varenv.right 2018-12-17 15:39:48.000000000 -0500 --- tests/varenv.right 2019-08-22 16:05:25.000000000 -0400 *************** *** 147,153 **** @@ -155,7 +155,7 @@ ! outside: declare -- var="outside" foo=<unset> environment foo= foo=foo environment foo=foo -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-011 new/bash-5.0-patches/bash50-011 --- old/bash-5.0-patches/bash50-011 2019-08-29 17:10:10.000000000 +0200 +++ new/bash-5.0-patches/bash50-011 2019-09-09 10:09:15.431839626 +0200 @@ -16,7 +16,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.0-patched/subst.c 2018-12-22 17:43:37.000000000 -0500 +*** subst.c 2018-12-22 17:43:37.000000000 -0500 --- subst.c 2019-04-14 13:25:41.000000000 -0400 *************** *** 3626,3630 **** @@ -42,7 +42,7 @@ + word_list_remove_quoted_nulls (l); dequote_list (l); r = string_list (l); -*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2016-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2016-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-012 new/bash-5.0-patches/bash50-012 --- old/bash-5.0-patches/bash50-012 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.0-patches/bash50-012 2020-02-07 21:14:07.000000000 +0100 @@ -0,0 +1,64 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-012 + +Bug-Reported-by: [email protected] +Bug-Reference-ID: <[email protected]> +Bug-Reference-URL: + +Bug-Description: + +When using previous-history to go back beyond the beginning of the history list, +it's possible to move to an incorrect partial line. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/lib/readline/misc.c 2017-07-07 17:30:12.000000000 -0400 +--- lib/readline/misc.c 2019-05-16 11:43:46.000000000 -0400 +*************** +*** 577,580 **** +--- 590,594 ---- + { + HIST_ENTRY *old_temp, *temp; ++ int had_saved_line; + + if (count < 0) +*************** +*** 589,592 **** +--- 603,607 ---- + + /* If we don't have a line saved, then save this one. */ ++ had_saved_line = _rl_saved_line_for_history != 0; + rl_maybe_save_line (); + +*************** +*** 612,616 **** + if (temp == 0) + { +! rl_maybe_unsave_line (); + rl_ding (); + } +--- 627,632 ---- + if (temp == 0) + { +! if (had_saved_line == 0) +! _rl_free_saved_history_line (); + rl_ding (); + } +*** ../bash-5.0/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 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-013 new/bash-5.0-patches/bash50-013 --- old/bash-5.0-patches/bash50-013 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.0-patches/bash50-013 2020-02-07 21:14:17.000000000 +0100 @@ -0,0 +1,73 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-013 + +Bug-Reported-by: HIROSE Masaaki <[email protected]> +Bug-Reference-ID: <CAGSOfA-RqiTe=+gsxsdkyzrrmwh4bdbxgmvvegma6ojqc5x...@mail.gmail.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html + +Bug-Description: + +Reading history entries with timestamps can result in history entries joined +by linefeeds. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/lib/readline/histfile.c 2018-06-11 09:14:52.000000000 -0400 +--- lib/readline/histfile.c 2019-05-16 15:55:57.000000000 -0400 +*************** +*** 370,376 **** + + has_timestamps = HIST_TIMESTAMP_START (buffer); +! history_multiline_entries += has_timestamps && history_write_timestamps; + + /* Skip lines until we are at FROM. */ + for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) + if (*line_end == '\n') +--- 370,378 ---- + + has_timestamps = HIST_TIMESTAMP_START (buffer); +! history_multiline_entries += has_timestamps && history_write_timestamps; + + /* Skip lines until we are at FROM. */ ++ if (has_timestamps) ++ last_ts = buffer; + for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++) + if (*line_end == '\n') +*************** +*** 381,385 **** +--- 383,398 ---- + if (HIST_TIMESTAMP_START(p) == 0) + current_line++; ++ else ++ last_ts = p; + line_start = p; ++ /* If we are at the last line (current_line == from) but we have ++ timestamps (has_timestamps), then line_start points to the ++ text of the last command, and we need to skip to its end. */ ++ if (current_line >= from && has_timestamps) ++ { ++ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++) ++ ; ++ line_start = (*line_end == '\n') ? line_end + 1 : line_end; ++ } + } + + +*** ../bash-5.0/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 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-014 new/bash-5.0-patches/bash50-014 --- old/bash-5.0-patches/bash50-014 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.0-patches/bash50-014 2020-02-07 21:14:28.000000000 +0100 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-014 + +Bug-Reported-by: Johannes Hielscher <[email protected]> +Bug-Reference-ID: <20190208205048.77c25a83@hordevm> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-02/msg00032.html + +Bug-Description: + +If the current line is empty, using the emacs C-xC-e binding to enter the +editor will edit the previous command instead of the current (empty) one. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/bashline.c 2019-01-16 16:13:21.000000000 -0500 +--- bashline.c 2019-02-11 11:18:57.000000000 -0500 +*************** +*** 962,970 **** + finished with the command, so we should not ignore the last command */ + using_history (); +! if (rl_line_buffer[0]) +! { +! current_command_line_count++; /* for rl_newline above */ +! bash_add_history (rl_line_buffer); +! } + current_command_line_count = 0; /* for dummy history entry */ + bash_add_history (""); +--- 965,970 ---- + finished with the command, so we should not ignore the last command */ + using_history (); +! current_command_line_count++; /* for rl_newline above */ +! bash_add_history (rl_line_buffer); + current_command_line_count = 0; /* for dummy history entry */ + bash_add_history (""); +*** ../bash-5.0/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 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-015 new/bash-5.0-patches/bash50-015 --- old/bash-5.0-patches/bash50-015 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.0-patches/bash50-015 2020-02-07 21:14:42.000000000 +0100 @@ -0,0 +1,78 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-015 + +Bug-Reported-by: Yu Kou <[email protected]> +Bug-Reference-ID: <caaqof9ko3nashjxgzucafs-byuagzz4nbqonwekwc7s9uqf...@mail.gmail.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00032.html + +Bug-Description: + +If alias expansion is enabled when processing the command argument to the +`-c' option, an alias is defined in that command, and the command ends with +the invocation of that alias, the shell's command parser can prematurely +terminate before the entire command is executed. + +Patch (apply with `patch -p0'): + +*** ../bash-20190426/builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500 +--- builtins/evalstring.c 2019-05-15 14:19:36.000000000 -0400 +*************** +*** 92,95 **** +--- 92,96 ---- + running_trap == 0 && + *bash_input.location.string == '\0' && ++ parser_expanding_alias () == 0 && + command->type == cm_simple && + signal_is_trapped (EXIT_TRAP) == 0 && +*************** +*** 106,109 **** +--- 107,111 ---- + { + return (*bash_input.location.string == '\0' && ++ parser_expanding_alias () == 0 && + (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') && + command->value.Connection->second->type == cm_simple); +*************** +*** 291,295 **** + with_input_from_string (string, from_file); + clear_shell_input_line (); +! while (*(bash_input.location.string)) + { + command = (COMMAND *)NULL; +--- 293,297 ---- + with_input_from_string (string, from_file); + clear_shell_input_line (); +! while (*(bash_input.location.string) || parser_expanding_alias ()) + { + command = (COMMAND *)NULL; +*************** +*** 546,550 **** + + with_input_from_string (string, from_file); +! while (*(bash_input.location.string)) + { + command = (COMMAND *)NULL; +--- 548,552 ---- + + with_input_from_string (string, from_file); +! while (*(bash_input.location.string)) /* XXX - parser_expanding_alias () ? */ + { + command = (COMMAND *)NULL; +*** ../bash-5.0/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 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.0-patches/bash50-016 new/bash-5.0-patches/bash50-016 --- old/bash-5.0-patches/bash50-016 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.0-patches/bash50-016 2020-02-07 21:14:52.000000000 +0100 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.0 +Patch-ID: bash50-016 + +Bug-Reported-by: [email protected] +Bug-Reference-ID: <20190316041534.GB22884@midnight> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html + +Bug-Description: + +Bash waits too long to reap /dev/fd process substitutions used as redirections +with loops and group commands, which can lead to file descriptor exhaustion. + +Patch (apply with `patch -p0'): + +*** ../bash-5.0-patched/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400 +--- execute_cmd.c 2019-07-01 16:45:49.000000000 -0400 +*************** +*** 1104,1107 **** +--- 1085,1104 ---- + discard_unwind_frame ("internal_fifos"); + } ++ # if defined (HAVE_DEV_FD) ++ /* Reap process substitutions at the end of loops */ ++ switch (command->type) ++ { ++ case cm_while: ++ case cm_until: ++ case cm_for: ++ case cm_group: ++ # if defined (ARITH_FOR_COMMAND) ++ case cm_arith_for: ++ # endif ++ reap_procsubs (); ++ default: ++ break; ++ } ++ # endif /* HAVE_DEV_FD */ + #endif + + +*** ../bash-5.0/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 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */
