Fix a crash in nested pipeline in lastpipe mode

Resolves: #1349430
This commit is contained in:
Siteshwar Vashisht 2016-06-23 18:58:12 +05:30
parent f94660b536
commit 42f4b108bb
2 changed files with 67 additions and 3 deletions

View File

@ -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 <svashisht@redhat.com> - 4.3.43-1
- Fix a crash in nested pipeline in lastpipe mode
Resolves: #1349430
* Tue May 17 2016 Siteshwar Vashisht <svashisht@redhat.com> - 4.3.42-5
- Do not set terminate_immediately and interrupt_immediately while expanding tilda
Resolves: #1336800

59
bash43-043 Normal file
View File

@ -0,0 +1,59 @@
BASH PATCH REPORT
=================
Bash-Release: 4.3
Patch-ID: bash43-043
Bug-Reported-by: lolilolicon <lolilolicon@gmail.com>
Bug-Reference-ID: <CAMtVo_MF16KWanCB4C8WxA88Qt26zWsvV6V7+_U2fM0E6tCDxw@mail.gmail.com>
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_ */