- Added bash32-021 upstream official patch
- Added bash32-025 upstream official patch - Added bash32-024 upstream official patch - Added bash32-023 upstream official patch - Added bash32-022 upstream official patch
This commit is contained in:
parent
3797fbd1a8
commit
7269640a27
19
bash.spec
19
bash.spec
@ -1,7 +1,7 @@
|
||||
Version: 3.2
|
||||
Name: bash
|
||||
Summary: The GNU Bourne Again shell (bash) version %{version}
|
||||
Release: 17%{?dist}
|
||||
Release: 18%{?dist}
|
||||
Group: System Environment/Shells
|
||||
License: GPLv2+
|
||||
Url: http://www.gnu.org/software/bash
|
||||
@ -31,6 +31,11 @@ Patch17: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-017
|
||||
Patch18: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-018
|
||||
Patch19: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-019
|
||||
Patch20: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-020
|
||||
Patch21: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-021
|
||||
Patch22: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-022
|
||||
Patch23: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-023
|
||||
Patch24: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-024
|
||||
Patch25: ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-025
|
||||
# Other patches
|
||||
Patch100: bash-2.03-paths.patch
|
||||
Patch101: bash-2.02-security.patch
|
||||
@ -87,6 +92,11 @@ compliance over previous versions.
|
||||
%patch18 -p0 -b .018
|
||||
%patch19 -p0 -b .019
|
||||
%patch20 -p0 -b .020
|
||||
%patch21 -p0 -b .021
|
||||
%patch22 -p0 -b .022
|
||||
%patch23 -p0 -b .023
|
||||
%patch24 -p0 -b .024
|
||||
%patch25 -p0 -b .025
|
||||
|
||||
# Other patches
|
||||
%patch100 -p1 -b .paths
|
||||
@ -246,6 +256,13 @@ fi
|
||||
%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
|
||||
|
||||
%changelog
|
||||
* Fri Aug 31 2007 Pete Graner <pgraner@redhat.com> - 3.2-18
|
||||
- Added bash32-021 upstream official patch
|
||||
- Added bash32-025 upstream official patch
|
||||
- Added bash32-024 upstream official patch
|
||||
- Added bash32-023 upstream official patch
|
||||
- Added bash32-022 upstream official patch
|
||||
|
||||
* Wed Aug 29 2007 Pete Graner <pgraner@redhat.com> - 3.2-17
|
||||
- Added bash32-018 upstream official patch
|
||||
- Added bash32-020 upstream official patch
|
||||
|
72
bash32-021
Normal file
72
bash32-021
Normal file
@ -0,0 +1,72 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 3.2
|
||||
Patch-ID: bash32-021
|
||||
|
||||
Bug-Reported-by: BAGSHAW Paul RD-TECH-REN <paul.bagshaw@orange-ftgroup.com>
|
||||
Bug-Reference-ID: <941BA0BF46DB8F4983FF7C8AFE800BC205EA7D4B@ftrdmel3.rd.francetelecom.fr>
|
||||
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00065.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
When the parser read a backslash-escaped character that would be treated
|
||||
internally as an escape, it would double the number of escape characters.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-3.2-patched/parse.y Mon Oct 30 17:22:00 2006
|
||||
--- parse.y Sat Mar 24 17:13:20 2007
|
||||
***************
|
||||
*** 3377,3381 ****
|
||||
{
|
||||
pass_next_character = 0;
|
||||
! goto got_character;
|
||||
}
|
||||
|
||||
--- 3377,3381 ----
|
||||
{
|
||||
pass_next_character = 0;
|
||||
! goto got_escaped_character;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 3651,3660 ****
|
||||
got_character:
|
||||
|
||||
- all_digit_token &= DIGIT (character);
|
||||
- dollar_present |= character == '$';
|
||||
-
|
||||
if (character == CTLESC || character == CTLNUL)
|
||||
token[token_index++] = CTLESC;
|
||||
|
||||
token[token_index++] = character;
|
||||
|
||||
--- 3651,3662 ----
|
||||
got_character:
|
||||
|
||||
if (character == CTLESC || character == CTLNUL)
|
||||
token[token_index++] = CTLESC;
|
||||
|
||||
+ got_escaped_character:
|
||||
+
|
||||
+ all_digit_token &= DIGIT (character);
|
||||
+ dollar_present |= character == '$';
|
||||
+
|
||||
token[token_index++] = character;
|
||||
|
||||
*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
|
||||
--- patchlevel.h Mon Oct 16 14:22:54 2006
|
||||
***************
|
||||
*** 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_ */
|
126
bash32-022
Normal file
126
bash32-022
Normal file
@ -0,0 +1,126 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 3.2
|
||||
Patch-ID: bash32-022
|
||||
|
||||
Bug-Reported-by: Chet Ramey <chet.ramey@cwru.edu>
|
||||
Bug-Reference-ID:
|
||||
Bug-Reference-URL:
|
||||
|
||||
Bug-Description:
|
||||
|
||||
POSIX specifies that the `read' builtin invoked from an interative shell
|
||||
must prompt with $PS2 when a line is continued using a backslash while
|
||||
reading from a terminal.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-3.2-patched/builtins/read.def Tue Sep 19 08:45:48 2006
|
||||
--- builtins/read.def Thu May 24 16:03:30 2007
|
||||
***************
|
||||
*** 128,133 ****
|
||||
{
|
||||
register char *varname;
|
||||
! int size, i, nr, pass_next, saw_escape, eof, opt, retval, code;
|
||||
! int input_is_tty, input_is_pipe, unbuffered_read;
|
||||
int raw, edit, nchars, silent, have_timeout, fd;
|
||||
unsigned int tmout;
|
||||
--- 131,136 ----
|
||||
{
|
||||
register char *varname;
|
||||
! int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2;
|
||||
! int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul;
|
||||
int raw, edit, nchars, silent, have_timeout, fd;
|
||||
unsigned int tmout;
|
||||
***************
|
||||
*** 135,139 ****
|
||||
char c;
|
||||
char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
|
||||
! char *e, *t, *t1;
|
||||
struct stat tsb;
|
||||
SHELL_VAR *var;
|
||||
--- 138,142 ----
|
||||
char c;
|
||||
char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
|
||||
! char *e, *t, *t1, *ps2;
|
||||
struct stat tsb;
|
||||
SHELL_VAR *var;
|
||||
***************
|
||||
*** 149,152 ****
|
||||
--- 152,156 ----
|
||||
USE_VAR(i);
|
||||
USE_VAR(pass_next);
|
||||
+ USE_VAR(print_ps2);
|
||||
USE_VAR(saw_escape);
|
||||
USE_VAR(input_is_pipe);
|
||||
***************
|
||||
*** 164,167 ****
|
||||
--- 168,172 ----
|
||||
#endif
|
||||
USE_VAR(list);
|
||||
+ USE_VAR(ps2);
|
||||
|
||||
i = 0; /* Index into the string that we are reading. */
|
||||
***************
|
||||
*** 387,391 ****
|
||||
#endif
|
||||
|
||||
! for (eof = retval = 0;;)
|
||||
{
|
||||
#if defined (READLINE)
|
||||
--- 394,399 ----
|
||||
#endif
|
||||
|
||||
! ps2 = 0;
|
||||
! for (print_ps2 = eof = retval = 0;;)
|
||||
{
|
||||
#if defined (READLINE)
|
||||
***************
|
||||
*** 413,416 ****
|
||||
--- 421,433 ----
|
||||
#endif
|
||||
|
||||
+ if (print_ps2)
|
||||
+ {
|
||||
+ if (ps2 == 0)
|
||||
+ ps2 = get_string_value ("PS2");
|
||||
+ fprintf (stderr, "%s", ps2 ? ps2 : "");
|
||||
+ fflush (stderr);
|
||||
+ print_ps2 = 0;
|
||||
+ }
|
||||
+
|
||||
if (unbuffered_read)
|
||||
retval = zread (fd, &c, 1);
|
||||
***************
|
||||
*** 441,445 ****
|
||||
pass_next = 0;
|
||||
if (c == '\n')
|
||||
! i--; /* back up over the CTLESC */
|
||||
else
|
||||
goto add_char;
|
||||
--- 458,466 ----
|
||||
pass_next = 0;
|
||||
if (c == '\n')
|
||||
! {
|
||||
! i--; /* back up over the CTLESC */
|
||||
! if (interactive && input_is_tty && raw == 0)
|
||||
! print_ps2 = 1;
|
||||
! }
|
||||
else
|
||||
goto add_char;
|
||||
*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
|
||||
--- patchlevel.h Mon Oct 16 14:22:54 2006
|
||||
***************
|
||||
*** 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_ */
|
51
bash32-023
Normal file
51
bash32-023
Normal file
@ -0,0 +1,51 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 3.2
|
||||
Patch-ID: bash32-023
|
||||
|
||||
Bug-Reported-by: Chet Ramey <chet.ramey@cwru.edu>
|
||||
Bug-Reference-ID:
|
||||
Bug-Reference-URL:
|
||||
|
||||
Bug-Description:
|
||||
|
||||
When an error occurs during the pattern removal word expansion, the shell
|
||||
can free unallocated memory or free memory multiple times.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-3.2-patched/subst.c Tue Apr 3 16:47:19 2007
|
||||
--- subst.c Tue Jul 17 09:45:11 2007
|
||||
***************
|
||||
*** 3975,3979 ****
|
||||
patstr++;
|
||||
|
||||
! pattern = getpattern (patstr, quoted, 1);
|
||||
|
||||
temp1 = (char *)NULL; /* shut up gcc */
|
||||
--- 4008,4016 ----
|
||||
patstr++;
|
||||
|
||||
! /* Need to pass getpattern newly-allocated memory in case of expansion --
|
||||
! the expansion code will free the passed string on an error. */
|
||||
! temp1 = savestring (patstr);
|
||||
! pattern = getpattern (temp1, quoted, 1);
|
||||
! free (temp1);
|
||||
|
||||
temp1 = (char *)NULL; /* shut up gcc */
|
||||
*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
|
||||
--- patchlevel.h Mon Oct 16 14:22:54 2006
|
||||
***************
|
||||
*** 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_ */
|
77
bash32-024
Normal file
77
bash32-024
Normal file
@ -0,0 +1,77 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 3.2
|
||||
Patch-ID: bash32-024
|
||||
|
||||
Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru>
|
||||
Bug-Reference-ID: <1178376645.9063.25.camel@localhost>
|
||||
Bug-Reference-URL: http://bugs.gentoo.org/177095
|
||||
|
||||
Bug-Description:
|
||||
|
||||
The readline display code miscalculated the screen position when performing
|
||||
a redisplay in which the new text occupies more screen space that the old,
|
||||
but takes fewer bytes to do so (e.g., when replacing a shorter string
|
||||
containing multibyte characters with a longer one containing only ASCII).
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-3.2-patched/lib/readline/display.c Thu Apr 26 11:38:22 2007
|
||||
--- lib/readline/display.c Thu Jul 12 23:10:10 2007
|
||||
***************
|
||||
*** 1519,1527 ****
|
||||
/* Non-zero if we're increasing the number of lines. */
|
||||
int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin;
|
||||
/* Sometimes it is cheaper to print the characters rather than
|
||||
use the terminal's capabilities. If we're growing the number
|
||||
of lines, make sure we actually cause the new line to wrap
|
||||
around on auto-wrapping terminals. */
|
||||
! if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl))
|
||||
{
|
||||
/* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and
|
||||
--- 1568,1596 ----
|
||||
/* Non-zero if we're increasing the number of lines. */
|
||||
int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin;
|
||||
+ /* If col_lendiff is > 0, implying that the new string takes up more
|
||||
+ screen real estate than the old, but lendiff is < 0, meaning that it
|
||||
+ takes fewer bytes, we need to just output the characters starting
|
||||
+ from the first difference. These will overwrite what is on the
|
||||
+ display, so there's no reason to do a smart update. This can really
|
||||
+ only happen in a multibyte environment. */
|
||||
+ if (lendiff < 0)
|
||||
+ {
|
||||
+ _rl_output_some_chars (nfd, temp);
|
||||
+ _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
|
||||
+ /* If nfd begins before any invisible characters in the prompt,
|
||||
+ adjust _rl_last_c_pos to account for wrap_offset and set
|
||||
+ cpos_adjusted to let the caller know. */
|
||||
+ if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
|
||||
+ {
|
||||
+ _rl_last_c_pos -= wrap_offset;
|
||||
+ cpos_adjusted = 1;
|
||||
+ }
|
||||
+ return;
|
||||
+ }
|
||||
/* Sometimes it is cheaper to print the characters rather than
|
||||
use the terminal's capabilities. If we're growing the number
|
||||
of lines, make sure we actually cause the new line to wrap
|
||||
around on auto-wrapping terminals. */
|
||||
! else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl))
|
||||
{
|
||||
/* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and
|
||||
*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
|
||||
--- patchlevel.h Mon Oct 16 14:22:54 2006
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 23
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 24
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
79
bash32-025
Normal file
79
bash32-025
Normal file
@ -0,0 +1,79 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 3.2
|
||||
Patch-ID: bash32-025
|
||||
|
||||
Bug-Reported-by: Tom Bjorkholm <tom.bjorkholm@ericsson.com>
|
||||
Bug-Reference-ID: <AEA1A32F001C6B4F98614B5B80D7647D01C075E9@esealmw115.eemea.ericsson.se>
|
||||
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-04/msg00004.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
An off-by-one error in readline's input buffering caused readline to drop
|
||||
each 511th character of buffered input (e.g., when pasting a large amount
|
||||
of data into a terminal window).
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-3.2-patched/lib/readline/input.c Wed Aug 16 15:15:16 2006
|
||||
--- lib/readline/input.c Tue Jul 17 09:24:21 2007
|
||||
***************
|
||||
*** 134,139 ****
|
||||
|
||||
*key = ibuffer[pop_index++];
|
||||
!
|
||||
if (pop_index >= ibuffer_len)
|
||||
pop_index = 0;
|
||||
|
||||
--- 134,142 ----
|
||||
|
||||
*key = ibuffer[pop_index++];
|
||||
! #if 0
|
||||
if (pop_index >= ibuffer_len)
|
||||
+ #else
|
||||
+ if (pop_index > ibuffer_len)
|
||||
+ #endif
|
||||
pop_index = 0;
|
||||
|
||||
***************
|
||||
*** 251,255 ****
|
||||
{
|
||||
k = (*rl_getc_function) (rl_instream);
|
||||
! rl_stuff_char (k);
|
||||
if (k == NEWLINE || k == RETURN)
|
||||
break;
|
||||
--- 254,259 ----
|
||||
{
|
||||
k = (*rl_getc_function) (rl_instream);
|
||||
! if (rl_stuff_char (k) == 0)
|
||||
! break; /* some problem; no more room */
|
||||
if (k == NEWLINE || k == RETURN)
|
||||
break;
|
||||
***************
|
||||
*** 374,378 ****
|
||||
--- 378,386 ----
|
||||
}
|
||||
ibuffer[push_index++] = key;
|
||||
+ #if 0
|
||||
if (push_index >= ibuffer_len)
|
||||
+ #else
|
||||
+ if (push_index > ibuffer_len)
|
||||
+ #endif
|
||||
push_index = 0;
|
||||
|
||||
*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
|
||||
--- patchlevel.h Mon Oct 16 14:22:54 2006
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 24
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 25
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
Loading…
Reference in New Issue
Block a user