Patchlevel 22

This commit is contained in:
Ondrej Oprala 2014-08-04 07:12:40 +02:00
parent d0b8ec03b0
commit 529feca21a
5 changed files with 316 additions and 9 deletions

View File

@ -1,5 +1,5 @@
#% define beta_tag rc2
%define patchleveltag .18
%define patchleveltag .22
%define baseversion 4.3
%bcond_without tests
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -7,7 +7,7 @@
Version: %{baseversion}%{patchleveltag}
Name: bash
Summary: The GNU Bourne Again shell
Release: 7%{?dist}
Release: 1%{?dist}
Group: System Environment/Shells
License: GPLv3+
Url: http://www.gnu.org/software/bash
@ -39,6 +39,10 @@ Patch015: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-015
Patch016: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-016
Patch017: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-017
Patch018: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-018
Patch019: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-019
Patch020: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-020
Patch021: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-021
Patch022: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-022
# Other patches
Patch101: bash-2.02-security.patch
@ -91,10 +95,7 @@ Patch128: bash-4.3-man-ulimit.patch
# A series of patches emitted by upstream since 4.3-18
Patch129: bash-4.3-array-element.patch
Patch130: bash-4.3-here-doc-ps2-comsub.patch
Patch131: bash-4.3-parse-time-keyword.patch
Patch132: bash-4.3-lastpipe-nested-pipe-segfault.patch
Patch133: bash-4.3-readline-revert-lines.patch
Patch134: bash-4.3-pathexp-globignore-delim.patch
# 1102815 - fix double echoes in vi visual mode
@ -144,6 +145,10 @@ This package contains documentation files for %{name}.
%patch016 -p0 -b .016
%patch017 -p0 -b .017
%patch018 -p0 -b .018
%patch019 -p0 -b .019
%patch020 -p0 -b .020
%patch021 -p0 -b .021
%patch022 -p0 -b .022
# Other patches
%patch101 -p1 -b .security
@ -172,10 +177,7 @@ This package contains documentation files for %{name}.
%patch125 -p1 -b .size_type
%patch128 -p1 -b .ulimit
%patch129 -p1 -b .element
%patch130 -p0 -b .comsub
%patch131 -p0 -b .keyword
%patch132 -p0 -b .segfault
%patch133 -p0 -b .lines
%patch134 -p0 -b .delim
%patch135 -p1 -b .noecho
@ -373,7 +375,10 @@ end
%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
%changelog
* Wed Jul 30 2014 Ondrej Oprala <ooprala@redhat.com> -4.3.18-7
* Mon Aug 04 2014 Ondrej Oprala <ooprala@redhat.com> - 4.3.22-1
- Patchlevel 22
* Wed Jul 30 2014 Ondrej Oprala <ooprala@redhat.com> - 4.3.18-7
- #1102815 - fix double echo in vi visual mode
* Thu Jul 24 2014 Ondrej Oprala <ooprala@redhat.com> - 4.3.18-6

84
bash43-019 Normal file
View File

@ -0,0 +1,84 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-019
Bug-Reported-by: John Lenton
Bug-Reference-ID:
Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
Bug-Description:
The -t timeout option to `read' does not work when the -e option is used.
Patch (apply with `patch -p0'):
*** ../bash-4.3-patched/lib/readline/input.c 2014-01-10 15:07:08.000000000 -0500
--- lib/readline/input.c 2014-05-22 18:40:59.000000000 -0400
***************
*** 535,540 ****
--- 538,551 ----
else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
+ /* keyboard-generated signals of interest */
else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
RL_CHECK_SIGNALS ();
+ /* non-keyboard-generated signals of interest */
+ else if (_rl_caught_signal == SIGALRM
+ #if defined (SIGVTALRM)
+ || _rl_caught_signal == SIGVTALRM
+ #endif
+ )
+ RL_CHECK_SIGNALS ();
if (rl_signal_event_hook)
*** ../bash-4.3-patched/builtins/read.def 2013-09-02 11:54:00.000000000 -0400
--- builtins/read.def 2014-05-08 11:43:35.000000000 -0400
***************
*** 443,447 ****
#if defined (READLINE)
if (edit)
! add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
#endif
falarm (tmsec, tmusec);
--- 443,450 ----
#if defined (READLINE)
if (edit)
! {
! add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
! add_unwind_protect (bashline_reset_event_hook, (char *)NULL);
! }
#endif
falarm (tmsec, tmusec);
***************
*** 1022,1025 ****
--- 1025,1029 ----
old_attempted_completion_function = rl_attempted_completion_function;
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+ bashline_set_event_hook ();
if (itext)
{
***************
*** 1033,1036 ****
--- 1037,1041 ----
rl_attempted_completion_function = old_attempted_completion_function;
old_attempted_completion_function = (rl_completion_func_t *)NULL;
+ bashline_reset_event_hook ();
if (ret == 0)
*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 18
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 19
#endif /* _PATCHLEVEL_H_ */

110
bash43-020 Normal file
View File

@ -0,0 +1,110 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-020
Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
Bug-Reference-ID: <20140417073654.GB26875@nightderanger.psc.edu>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00065.html
Bug-Description:
When PS2 contains a command substitution, here-documents entered in an
interactive shell can sometimes cause a segmentation fault.
Patch (apply with `patch -p0'):
*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500
--- shell.h 2014-06-03 09:24:28.000000000 -0400
***************
*** 169,173 ****
int expand_aliases;
int echo_input_at_read;
!
} sh_parser_state_t;
--- 169,174 ----
int expand_aliases;
int echo_input_at_read;
! int need_here_doc;
!
} sh_parser_state_t;
*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400
--- parse.y 2014-04-30 09:27:59.000000000 -0400
***************
*** 2643,2647 ****
r = 0;
! while (need_here_doc)
{
parser_state |= PST_HEREDOC;
--- 2643,2647 ----
r = 0;
! while (need_here_doc > 0)
{
parser_state |= PST_HEREDOC;
***************
*** 6076,6079 ****
--- 6076,6080 ----
ps->expand_aliases = expand_aliases;
ps->echo_input_at_read = echo_input_at_read;
+ ps->need_here_doc = need_here_doc;
ps->token = token;
***************
*** 6124,6127 ****
--- 6125,6129 ----
expand_aliases = ps->expand_aliases;
echo_input_at_read = ps->echo_input_at_read;
+ need_here_doc = ps->need_here_doc;
FREE (token);
*** ../bash-4.3-patched/y.tab.c 2014-04-07 11:56:12.000000000 -0400
--- y.tab.c 2014-07-30 09:55:57.000000000 -0400
***************
*** 4955,4959 ****
r = 0;
! while (need_here_doc)
{
parser_state |= PST_HEREDOC;
--- 5151,5155 ----
r = 0;
! while (need_here_doc > 0)
{
parser_state |= PST_HEREDOC;
***************
*** 8388,8391 ****
--- 8584,8588 ----
ps->expand_aliases = expand_aliases;
ps->echo_input_at_read = echo_input_at_read;
+ ps->need_here_doc = need_here_doc;
ps->token = token;
***************
*** 8436,8439 ****
--- 8633,8637 ----
expand_aliases = ps->expand_aliases;
echo_input_at_read = ps->echo_input_at_read;
+ need_here_doc = ps->need_here_doc;
FREE (token);
*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 19
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 20
#endif /* _PATCHLEVEL_H_ */

52
bash43-021 Normal file
View File

@ -0,0 +1,52 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-021
Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html
Bug-Description:
When the readline `revert-all-at-newline' option is set, pressing newline
when the current line is one retrieved from history results in a double free
and a segmentation fault.
Patch (apply with `patch -p0'):
*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400
--- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400
***************
*** 462,465 ****
--- 462,466 ----
/* Set up rl_line_buffer and other variables from history entry */
rl_replace_from_history (entry, 0); /* entry->line is now current */
+ entry->data = 0; /* entry->data is now current undo list */
/* Undo all changes to this history entry */
while (rl_undo_list)
***************
*** 469,473 ****
FREE (entry->line);
entry->line = savestring (rl_line_buffer);
- entry->data = 0;
}
entry = previous_history ();
--- 470,473 ----
*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 20
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 21
#endif /* _PATCHLEVEL_H_ */

56
bash43-022 Normal file
View File

@ -0,0 +1,56 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-022
Bug-Reported-by: scorp.dev.null@gmail.com
Bug-Reference-ID: <E1WxXw8-0007iE-Bi@pcm14>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00061.html
Bug-Description:
Using nested pipelines within loops with the `lastpipe' option set can result
in a segmentation fault.
Patch (apply with `patch -p0'):
*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500
--- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400
***************
*** 2410,2414 ****
lstdin = wait_for (lastpid);
#if defined (JOB_CONTROL)
! exec_result = job_exit_status (lastpipe_jid);
#endif
unfreeze_jobs_list ();
--- 2425,2438 ----
lstdin = wait_for (lastpid);
#if defined (JOB_CONTROL)
! /* If wait_for removes the job from the jobs table, use result of last
! command as pipeline's exit status as usual. The jobs list can get
! frozen and unfrozen at inconvenient times if there are multiple pipelines
! running simultaneously. */
! if (INVALID_JOB (lastpipe_jid) == 0)
! exec_result = job_exit_status (lastpipe_jid);
! else if (pipefail_opt)
! exec_result = exec_result | lstdin; /* XXX */
! /* otherwise we use exec_result */
!
#endif
unfreeze_jobs_list ();
*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 21
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 22
#endif /* _PATCHLEVEL_H_ */