Date: Thursday, October 2, 2014 @ 15:23:09 Author: bpiotrowski Revision: 223768
upgpkg: bash 4.3.028-1 replace parser-oob-4.2 with upstream patch Modified: bash/trunk/PKGBUILD Deleted: bash/trunk/parser-oob-4.2.patch ----------------------+ PKGBUILD | 11 ++---- parser-oob-4.2.patch | 85 ------------------------------------------------- 2 files changed, 4 insertions(+), 92 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-10-02 13:16:26 UTC (rev 223767) +++ PKGBUILD 2014-10-02 13:23:09 UTC (rev 223768) @@ -5,7 +5,7 @@ pkgname=bash _basever=4.3 -_patchlevel=027 +_patchlevel=028 pkgver=$_basever.$_patchlevel pkgrel=1 pkgdesc='The GNU Bourne Again shell' @@ -24,8 +24,7 @@ dot.bash_logout system.bashrc system.bash_logout - privmode-setuid-fail.patch - parser-oob-4.2.patch) + privmode-setuid-fail.patch) if [[ $((10#${_patchlevel})) -gt 0 ]]; then for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do @@ -43,9 +42,6 @@ # http://hmarco.org/bugs/bash_4.3-setuid-bug.html (FS#40663) patch -p0 -i ../privmode-setuid-fail.patch - - # CVE-2014-7169 patches - patch -p0 -i ../parser-oob-4.2.patch } build() { @@ -89,7 +85,6 @@ '561949793177116b7be29a07c385ba8b' '472f536d7c9e8250dc4568ec4cfaf294' 'a577d42e38249d298d6a8d4bf2823883' - '461145288c8ffbf05c0f90554b2aa885' '1ab682b4e36afa4cf1b426aa7ac81c0d' 'SKIP' '8fc22cf50ec85da00f6af3d66f7ddc1b' @@ -143,4 +138,6 @@ '922578e2be7ed03729454e92ee8d3f3a' 'SKIP' '8ff6948b16f2db5c29b1b9ae1085bbe7' + 'SKIP' + 'dd51fa67913b5dca45a702b672b3323f' 'SKIP') Deleted: parser-oob-4.2.patch =================================================================== --- parser-oob-4.2.patch 2014-10-02 13:16:26 UTC (rev 223767) +++ parser-oob-4.2.patch 2014-10-02 13:23:09 UTC (rev 223768) @@ -1,85 +0,0 @@ ---- ../bash-4.2-orig/parse.y 2014-09-25 13:07:59.218209276 +0200 -+++ parse.y 2014-09-25 15:26:52.813159810 +0200 -@@ -264,9 +264,21 @@ - - /* Variables to manage the task of reading here documents, because we need to - defer the reading until after a complete command has been collected. */ --static REDIRECT *redir_stack[10]; -+static REDIRECT **redir_stack; - int need_here_doc; - -+/* Pushes REDIR onto redir_stack, resizing it as needed. */ -+static void -+push_redir_stack (REDIRECT *redir) -+{ -+ /* Guard against oveflow. */ -+ if (need_here_doc + 1 > INT_MAX / sizeof (*redir_stack)) -+ abort (); -+ redir_stack = xrealloc (redir_stack, -+ (need_here_doc + 1) * sizeof (*redir_stack)); -+ redir_stack[need_here_doc++] = redir; -+} -+ - /* Where shell input comes from. History expansion is performed on each - line when the shell is interactive. */ - static char *shell_input_line = (char *)NULL; -@@ -519,42 +531,42 @@ - source.dest = 0; - redir.filename = $2; - $$ = make_redirection (source, r_reading_until, redir, 0); -- redir_stack[need_here_doc++] = $$; -+ push_redir_stack ($$); - } - | NUMBER LESS_LESS WORD - { - source.dest = $1; - redir.filename = $3; - $$ = make_redirection (source, r_reading_until, redir, 0); -- redir_stack[need_here_doc++] = $$; -+ push_redir_stack ($$); - } - | REDIR_WORD LESS_LESS WORD - { - source.filename = $1; - redir.filename = $3; - $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); -- redir_stack[need_here_doc++] = $$; -+ push_redir_stack ($$); - } - | LESS_LESS_MINUS WORD - { - source.dest = 0; - redir.filename = $2; - $$ = make_redirection (source, r_deblank_reading_until, redir, 0); -- redir_stack[need_here_doc++] = $$; -+ push_redir_stack ($$); - } - | NUMBER LESS_LESS_MINUS WORD - { - source.dest = $1; - redir.filename = $3; - $$ = make_redirection (source, r_deblank_reading_until, redir, 0); -- redir_stack[need_here_doc++] = $$; -+ push_redir_stack ($$); - } - | REDIR_WORD LESS_LESS_MINUS WORD - { - source.filename = $1; - redir.filename = $3; - $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); -- redir_stack[need_here_doc++] = $$; -+ push_redir_stack ($$); - } - | LESS_LESS_LESS WORD - { -@@ -4757,7 +4769,7 @@ - case CASE: - case SELECT: - case FOR: -- if (word_top < MAX_CASE_NEST) -+ if (word_top + 1 < MAX_CASE_NEST) - word_top++; - word_lineno[word_top] = line_number; - break; - -