Patchlevel 42

This commit is contained in:
Ondrej Oprala 2015-08-18 15:31:50 +02:00
parent f5eff725d5
commit 469c21de51
5 changed files with 185 additions and 21 deletions

View File

@ -1,15 +0,0 @@
*** ../bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400
--- subst.c 2015-06-22 09:16:53.000000000 -0400
***************
*** 5783,5787 ****
if (pflags & PF_ASSIGNRHS)
{
! temp = array_variable_name (name, &tt, (int *)0);
if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
--- 5783,5787 ----
if (pflags & PF_ASSIGNRHS)
{
! var = array_variable_part (name, &tt, (int *)0);
if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);

View File

@ -1,6 +1,6 @@
#% define beta_tag rc2
%global _hardened_build 1
%define patchleveltag .39
%define patchleveltag .42
%define baseversion 4.3
%bcond_without tests
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -8,7 +8,7 @@
Version: %{baseversion}%{patchleveltag}
Name: bash
Summary: The GNU Bourne Again shell
Release: 6%{?dist}
Release: 1%{?dist}
Group: System Environment/Shells
License: GPLv3+
Url: http://www.gnu.org/software/bash
@ -70,6 +70,9 @@ Patch036: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-036
Patch037: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-037
Patch038: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-038
Patch039: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-039
Patch040: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-040
Patch041: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-041
Patch042: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-042
# Other patches
@ -128,9 +131,6 @@ Patch134: bash-4.3-pathexp-globignore-delim.patch
# 1102815 - fix double echoes in vi visual mode
Patch135: bash-4.3-noecho.patch
# 1224855 - memleak in 4.3.39
Patch136: bash-4.3-memleak.patch
# 1182278 - bash crashes on `select' if REPLY is readonly
Patch137: bash-4.3-select-readonly.patch
@ -205,6 +205,9 @@ This package contains documentation files for %{name}.
%patch037 -p0 -b .037
%patch038 -p0 -b .038
%patch039 -p0 -b .039
%patch040 -p0 -b .040
%patch041 -p0 -b .041
%patch042 -p0 -b .042
# Other patches
%patch101 -p1 -b .security
@ -235,7 +238,6 @@ This package contains documentation files for %{name}.
#%patch131 -p0 -b .keyword
%patch134 -p0 -b .delim
%patch135 -p1 -b .noecho
%patch136 -p0 -b .memleak
%patch137 -p1 -b .readonly
%patch138 -p1 -b .lc_all
%patch139 -p1 -b .oldleak
@ -437,6 +439,9 @@ end
%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
%changelog
* Tue Aug 18 2015 Ondrej Oprala - 4.3.42-1
- Patchlevel 42
* Mon Aug 03 2015 Ondrej Oprala - 4.3.39-6
- #1245233 - fixed memleak

47
bash43-040 Normal file
View File

@ -0,0 +1,47 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-040
Bug-Reported-by: Jean Delvare <jdelvare@suse.de>
Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html
Bug-Description:
There is a memory leak that occurs when bash expands an array reference on
the rhs of an assignment statement.
Patch (apply with `patch -p0'):
*** ../bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400
--- subst.c 2015-06-22 09:16:53.000000000 -0400
***************
*** 5783,5787 ****
if (pflags & PF_ASSIGNRHS)
{
! temp = array_variable_name (name, &tt, (int *)0);
if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
--- 5783,5787 ----
if (pflags & PF_ASSIGNRHS)
{
! var = array_variable_part (name, &tt, (int *)0);
if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
*** ../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 39
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 40
#endif /* _PATCHLEVEL_H_ */

72
bash43-041 Normal file
View File

@ -0,0 +1,72 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-041
Bug-Reported-by: Hanno Böck <hanno@hboeck.de>
Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html,
http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html
Bug-Description:
There are several out-of-bounds read errors that occur when completing command
lines where assignment statements appear before the command name. The first
two appear only when programmable completion is enabled; the last one only
happens when listing possible completions.
Patch (apply with `patch -p0'):
*** ../bash-4.3.40/bashline.c 2014-12-29 14:39:43.000000000 -0500
--- bashline.c 2015-08-12 10:21:58.000000000 -0400
***************
*** 1469,1476 ****
--- 1469,1489 ----
os = start;
n = 0;
+ was_assignment = 0;
s = find_cmd_start (os);
e = find_cmd_end (end);
do
{
+ /* Don't read past the end of rl_line_buffer */
+ if (s > rl_end)
+ {
+ s1 = s = e1;
+ break;
+ }
+ /* Or past point if point is within an assignment statement */
+ else if (was_assignment && s > rl_point)
+ {
+ s1 = s = e1;
+ break;
+ }
/* Skip over assignment statements preceding a command name. If we
don't find a command name at all, we can perform command name
*** ../bash-4.3.40/lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400
--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400
***************
*** 690,693 ****
--- 690,695 ----
if (temp == 0 || *temp == '\0')
return (pathname);
+ else if (temp[1] == 0 && temp == pathname)
+ return (pathname);
/* If the basename is NULL, we might have a pathname like '/usr/src/'.
Look for a previous slash and, if one is found, return the portion
*** ../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 40
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 41
#endif /* _PATCHLEVEL_H_ */

55
bash43-042 Normal file
View File

@ -0,0 +1,55 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-042
Bug-Reported-by: Nathan Neulinger <nneul@neulinger.org>
Bug-Reference-ID: <558EFDF2.7060402@neulinger.org>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html
Bug-Description:
There is a problem when parsing command substitutions containing `case'
commands within pipelines that causes the parser to not correctly identify
the end of the command substitution.
Patch (apply with `patch -p0'):
*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400
--- parse.y 2015-06-29 10:59:27.000000000 -0400
***************
*** 3709,3712 ****
--- 3709,3714 ----
tflags |= LEX_INWORD;
lex_wlen = 0;
+ if (tflags & LEX_RESWDOK)
+ lex_rwlen = 0;
}
}
*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400
--- y.tab.c 2015-06-29 10:59:27.000000000 -0400
***************
*** 6021,6024 ****
--- 6021,6026 ----
tflags |= LEX_INWORD;
lex_wlen = 0;
+ if (tflags & LEX_RESWDOK)
+ lex_rwlen = 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 41
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 42
#endif /* _PATCHLEVEL_H_ */