Roman Rakus efcdbe
			     BASH PATCH REPORT
Roman Rakus efcdbe
			     =================
Roman Rakus efcdbe
Roman Rakus efcdbe
Bash-Release:	4.2
Roman Rakus efcdbe
Patch-ID:	bash42-041
Roman Rakus efcdbe
Roman Rakus efcdbe
Bug-Reported-by:	Andrey Borzenkov <arvidjaar@gmail.com>
Roman Rakus efcdbe
Bug-Reference-ID:	<20121202205200.2134478e@opensuse.site>
Roman Rakus efcdbe
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html
Roman Rakus efcdbe
Roman Rakus efcdbe
Bug-Description:
Roman Rakus efcdbe
Roman Rakus efcdbe
Process substitution incorrectly inherited a flag that inhibited using the
Roman Rakus efcdbe
(local) temporary environment for variable lookups if it was providing
Roman Rakus efcdbe
the filename to a redirection.  The intent the flag is to enforce the
Roman Rakus efcdbe
Posix command expansion ordering rules.
Roman Rakus efcdbe
Roman Rakus efcdbe
Patch (apply with `patch -p0'):
Roman Rakus efcdbe
Roman Rakus efcdbe
*** ../bash-4.2-patched/subst.c	2012-07-14 15:53:20.000000000 -0400
Roman Rakus efcdbe
--- subst.c	2012-12-02 22:26:54.000000000 -0500
Roman Rakus efcdbe
***************
Roman Rakus efcdbe
*** 5125,5128 ****
Roman Rakus efcdbe
--- 5129,5136 ----
Roman Rakus efcdbe
  #endif /* HAVE_DEV_FD */
Roman Rakus efcdbe
  
Roman Rakus efcdbe
+   /* subshells shouldn't have this flag, which controls using the temporary
Roman Rakus efcdbe
+      environment for variable lookups. */
Roman Rakus efcdbe
+   expanding_redir = 0;
Roman Rakus efcdbe
+ 
Roman Rakus efcdbe
    result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
Roman Rakus efcdbe
  
Roman Rakus efcdbe
*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
Roman Rakus efcdbe
--- patchlevel.h	Thu Feb 24 21:41:34 2011
Roman Rakus efcdbe
***************
Roman Rakus efcdbe
*** 26,30 ****
Roman Rakus efcdbe
     looks for to find the patch level (for the sccs version string). */
Roman Rakus efcdbe
  
Roman Rakus efcdbe
! #define PATCHLEVEL 40
Roman Rakus efcdbe
  
Roman Rakus efcdbe
  #endif /* _PATCHLEVEL_H_ */
Roman Rakus efcdbe
--- 26,30 ----
Roman Rakus efcdbe
     looks for to find the patch level (for the sccs version string). */
Roman Rakus efcdbe
  
Roman Rakus efcdbe
! #define PATCHLEVEL 41
Roman Rakus efcdbe
  
Roman Rakus efcdbe
  #endif /* _PATCHLEVEL_H_ */