diff --git a/bash.spec b/bash.spec index 8e395e4..294cb0a 100644 --- a/bash.spec +++ b/bash.spec @@ -1,5 +1,5 @@ #% define beta_tag rc2 -%define patchleveltag .20 +%define patchleveltag .24 %define baseversion 4.2 %bcond_without tests @@ -40,6 +40,10 @@ Patch017: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-017 Patch018: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-018 Patch019: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-019 Patch020: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-020 +Patch021: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-021 +Patch022: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-022 +Patch023: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-023 +Patch024: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-024 # Other patches Patch101: bash-2.02-security.patch @@ -120,6 +124,10 @@ This package contains documentation files for %{name}. %patch018 -p0 -b .018 %patch019 -p0 -b .019 %patch020 -p0 -b .020 +%patch021 -p0 -b .021 +%patch022 -p0 -b .022 +%patch023 -p0 -b .023 +%patch024 -p0 -b .024 # Other patches %patch101 -p1 -b .security @@ -335,6 +343,9 @@ end #%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt %changelog +* Tue Mar 13 2012 Roman Rakus - 4.2.24-1 +- Patchlevel 24 + * Thu Nov 24 2011 Roman Rakus - 4.2.20-1 - Patchlevel 20 diff --git a/bash42-021 b/bash42-021 new file mode 100644 index 0000000..b6153c7 --- /dev/null +++ b/bash42-021 @@ -0,0 +1,61 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-021 + +Bug-Reported-by: Dan Douglas +Bug-Reference-ID: <4585554.nZWb4q7YoZ@smorgbox> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-12/msg00084.html + +Bug-Description: + +Using `read -N' to assign values to an array can result in NUL values being +assigned to some array elements. These values cause seg faults when referenced +later. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/read.def 2011-11-21 18:03:38.000000000 -0500 +--- builtins/read.def 2011-12-19 19:52:12.000000000 -0500 +*************** +*** 738,742 **** + } + else +! var = bind_read_variable (varname, t); + } + else +--- 775,779 ---- + } + else +! var = bind_read_variable (varname, t ? t : ""); + } + else +*************** +*** 799,803 **** + } + else +! var = bind_read_variable (list->word->word, input_string); + + if (var) +--- 836,840 ---- + } + else +! var = bind_read_variable (list->word->word, input_string ? input_string : ""); + + if (var) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 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_ */ diff --git a/bash42-022 b/bash42-022 new file mode 100644 index 0000000..0067b13 --- /dev/null +++ b/bash42-022 @@ -0,0 +1,61 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-022 + +Bug-Reported-by: Gregory Margo +Bug-Reference-ID: <20110727174529.GA3333@pacbell.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00102.html + +Bug-Description: + +The return value from lseek is `off_t'. This can cause corrupted return +values when the file offset is greater than 2**31 - 1. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/lib/sh/zread.c Mon Mar 2 08:54:45 2009 +--- lib/sh/zread.c Thu Jul 28 18:16:53 2011 +*************** +*** 161,166 **** + int fd; + { +! off_t off; +! int r; + + off = lused - lind; +--- 161,165 ---- + int fd; + { +! off_t off, r; + + off = lused - lind; +*************** +*** 169,173 **** + r = lseek (fd, -off, SEEK_CUR); + +! if (r >= 0) + lused = lind = 0; + } +--- 168,172 ---- + r = lseek (fd, -off, SEEK_CUR); + +! if (r != -1) + lused = lind = 0; + } +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 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_ */ diff --git a/bash42-023 b/bash42-023 new file mode 100644 index 0000000..4f204ef --- /dev/null +++ b/bash42-023 @@ -0,0 +1,62 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-023 + +Bug-Reported-by: Ewan Mellor +Bug-Reference-ID: <6005BE083BF501439A84DC3523BAC82DC4B964FD12@LONPMAILBOX01.citrite.net> +Bug-Reference-URL: + +Bug-Description: + +Under some circumstances, an exit trap triggered by a bad substitution +error when errexit is enabled will cause the shell to exit with an +incorrect exit status (0). + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/subst.c 2011-11-21 12:04:38.000000000 -0500 +--- subst.c 2012-02-08 13:36:28.000000000 -0500 +*************** +*** 7275,7278 **** +--- 7281,7285 ---- + case '\0': + bad_substitution: ++ last_command_exit_value = EXECUTION_FAILURE; + report_error (_("%s: bad substitution"), string ? string : "??"); + FREE (value); +*** ../bash-4.2-patched/error.c 2009-08-21 22:31:31.000000000 -0400 +--- error.c 2012-02-25 15:54:40.000000000 -0500 +*************** +*** 201,205 **** + va_end (args); + if (exit_immediately_on_error) +! exit_shell (1); + } + +--- 201,209 ---- + va_end (args); + if (exit_immediately_on_error) +! { +! if (last_command_exit_value == 0) +! last_command_exit_value = 1; +! exit_shell (last_command_exit_value); +! } + } + +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 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_ */ diff --git a/bash42-024 b/bash42-024 new file mode 100644 index 0000000..b7b1158 --- /dev/null +++ b/bash42-024 @@ -0,0 +1,45 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.2 +Patch-ID: bash42-024 + +Bug-Reported-by: Jim Avera +Bug-Reference-ID: <4F29E07A.80405@yahoo.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html + +Bug-Description: + +When `printf -v' is used to set an array element, the format string contains +`%b', and the corresponding argument is the empty string, the buffer used +to store the value to be assigned can be NULL, which results in NUL being +assigned to the array element. This causes a seg fault when it's used later. + +Patch (apply with `patch -p0'): + +*** ../bash-4.2-patched/builtins/printf.def 2011-02-25 12:07:41.000000000 -0500 +--- builtins/printf.def 2012-02-02 08:37:12.000000000 -0500 +*************** +*** 256,259 **** +--- 257,262 ---- + { + vflag = 1; ++ if (vbsize == 0) ++ vbuf = xmalloc (vbsize = 16); + vblen = 0; + if (vbuf) +*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 +--- patchlevel.h Thu Feb 24 21:41:34 2011 +*************** +*** 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_ */