summaryrefslogtreecommitdiff
path: root/source/a/bash/bash-4.2-patches/bash42-007
blob: d16156e277568735ed4c284f9b7ec4584d43b120 (plain)
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
			     BASH PATCH REPORT
			     =================

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

Bug-Reported-by:	Matthias Klose <doko@debian.org>
Bug-Reference-ID:	<4D6FD2AC.1010500@debian.org>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00015.html

Bug-Description:

When used in contexts where word splitting and quote removal were not
performed, such as case statement word expansion, empty strings
(either literal or resulting from quoted variables that were unset or
null) were not expanded correctly, resulting in failure.

Patch (apply with `patch -p0'):

*** ../bash-4.2-patched/subst.c	2011-02-25 12:03:58.000000000 -0500
--- subst.c	2011-03-03 14:08:23.000000000 -0500
***************
*** 4609,4614 ****
--- 4611,4617 ----
    if (ifs_firstc == 0)
  #endif
      word->flags |= W_NOSPLIT;
+   word->flags |= W_NOSPLIT2;
    result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL);
    expand_no_split_dollar_star = 0;
  
*** ../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 6
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 7
  
  #endif /* _PATCHLEVEL_H_ */