bash: update to 4.3.42

This commit is contained in:
Tom G. Christensen 2015-08-22 22:09:56 +02:00
parent 8330306c13
commit e80eb0cc13
5 changed files with 183 additions and 2 deletions

View File

@ -7,7 +7,7 @@
# Check the following 4 variables before running the script # Check the following 4 variables before running the script
topdir=bash topdir=bash
real_version=4.3 real_version=4.3
version=4.3.39 version=4.3.42
pkgver=1 pkgver=1
source[0]=ftp://ftp.sunet.se/pub/gnu/bash/$topdir-$real_version.tar.gz source[0]=ftp://ftp.sunet.se/pub/gnu/bash/$topdir-$real_version.tar.gz
@ -54,6 +54,9 @@ patch[36]=bash43-036
patch[37]=bash43-037 patch[37]=bash43-037
patch[38]=bash43-038 patch[38]=bash43-038
patch[39]=bash43-039 patch[39]=bash43-039
patch[40]=bash43-040
patch[41]=bash43-041
patch[42]=bash43-042
# Global settings # Global settings
export CPPFLAGS="-I$prefix/include" export CPPFLAGS="-I$prefix/include"
@ -95,6 +98,7 @@ install()
compat bash 4.3.27 1 1 compat bash 4.3.27 1 1
compat bash 4.3.30 1 1 compat bash 4.3.30 1 1
compat bash 4.3.33 1 1 compat bash 4.3.33 1 1
compat bash 4.3.39 1 1
} }
reg pack reg pack

View File

@ -1,6 +1,9 @@
CHANGELOG CHANGELOG
--------- ---------
* Wed Jul 01 2015 Tom G. Christensen <swpkg@jupiterrise.com> - 4,3,39-1 * Sat Aug 22 2015 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.42-1
- Update to 4.3.42
* Wed Jul 01 2015 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.39-1
- Update to 4.3.39 - Update to 4.3.39
* Sun Mar 15 2015 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.33-1 * Sun Mar 15 2015 Tom G. Christensen <swpkg@jupiterrise.com> - 4.3.33-1

47
bash/src/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
bash/src/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
bash/src/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_ */