summaryrefslogtreecommitdiffstats
path: root/patches/source/bash/bash-4.2-patches/bash42-041
blob: 37d4ac704322bd55150a76c8793376bab469203a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
			     BASH PATCH REPORT
			     =================

Bash-Release:	4.2
Patch-ID:	bash42-041

Bug-Reported-by:	Andrey Borzenkov <arvidjaar@gmail.com>
Bug-Reference-ID:	<20121202205200.2134478e@opensuse.site>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html

Bug-Description:

Process substitution incorrectly inherited a flag that inhibited using the
(local) temporary environment for variable lookups if it was providing
the filename to a redirection.  The intent the flag is to enforce the
Posix command expansion ordering rules.

Patch (apply with `patch -p0'):

*** ../bash-4.2-patched/subst.c	2012-07-14 15:53:20.000000000 -0400
--- subst.c	2012-12-02 22:26:54.000000000 -0500
***************
*** 5125,5128 ****
--- 5129,5136 ----
  #endif /* HAVE_DEV_FD */
  
+   /* subshells shouldn't have this flag, which controls using the temporary
+      environment for variable lookups. */
+   expanding_redir = 0;
+ 
    result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
  
*** ../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 40
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 41
  
  #endif /* _PATCHLEVEL_H_ */