From 42f4b108bb7d193b4b2f7122ea557533fb1ffc12 Mon Sep 17 00:00:00 2001 From: Siteshwar Vashisht Date: Thu, 23 Jun 2016 18:58:12 +0530 Subject: [PATCH] Fix a crash in nested pipeline in lastpipe mode Resolves: #1349430 --- bash.spec | 11 +++++++--- bash43-043 | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 bash43-043 diff --git a/bash.spec b/bash.spec index e481378..8f05695 100644 --- a/bash.spec +++ b/bash.spec @@ -1,6 +1,6 @@ #% define beta_tag rc2 %global _hardened_build 1 -%define patchleveltag .42 +%define patchleveltag .43 %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: 5%{?dist} +Release: 1%{?dist} Group: System Environment/Shells License: GPLv3+ Url: http://www.gnu.org/software/bash @@ -73,7 +73,7 @@ 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 - +Patch043: ftp://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-043 # Other patches Patch101: bash-2.02-security.patch @@ -211,6 +211,7 @@ This package contains documentation files for %{name}. %patch040 -p0 -b .040 %patch041 -p0 -b .041 %patch042 -p0 -b .042 +%patch043 -p0 -b .043 # Other patches %patch101 -p1 -b .security @@ -446,6 +447,10 @@ end %doc doc/*.ps doc/*.0 doc/*.html doc/article.txt %changelog +* Thu Jun 23 2016 Siteshwar Vashisht - 4.3.43-1 +- Fix a crash in nested pipeline in lastpipe mode + Resolves: #1349430 + * Tue May 17 2016 Siteshwar Vashisht - 4.3.42-5 - Do not set terminate_immediately and interrupt_immediately while expanding tilda Resolves: #1336800 diff --git a/bash43-043 b/bash43-043 new file mode 100644 index 0000000..ad82c29 --- /dev/null +++ b/bash43-043 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-043 + +Bug-Reported-by: lolilolicon +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html + +Bug-Description: + +When the lastpipe option is enabled, the last component can contain nested +pipelines and cause a segmentation fault under certain circumestances. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400 +--- execute_cmd.c 2014-08-15 08:55:24.000000000 -0400 +*************** +*** 2406,2412 **** + { + #if defined (JOB_CONTROL) +! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid); +! #endif + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) + /* If wait_for removes the job from the jobs table, use result of last +--- 2433,2447 ---- + { + #if defined (JOB_CONTROL) +! if (INVALID_JOB (lastpipe_jid) == 0) +! { +! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid); +! lstdin = wait_for (lastpid); +! } +! else +! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */ +! #else + lstdin = wait_for (lastpid); ++ #endif ++ + #if defined (JOB_CONTROL) + /* If wait_for removes the job from the jobs table, use result of last +*** ../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 42 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */