summaryrefslogtreecommitdiff
path: root/package/bash/bash-4.2-013.patch
blob: 06840a356cfd25f3ac1974a87b4570a853aacdee (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
47
48
49
50
51
52
			     BASH PATCH REPORT
			     =================

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

Bug-Reported-by:	Marten Wikstrom <marten.wikstrom@keystream.se>
Bug-Reference-ID:	<BANLkTikKECAh94ZEX68iQvxYuPeEM_xoSQ@mail.gmail.com>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html

Bug-Description:

An off-by-one error caused the shell to skip over CTLNUL characters,
which are used internally to mark quoted null strings.  The effect
was to have stray 0x7f characters left after expanding words like
""""""""aa.

Patch (apply with `patch -p0'):

*** ../bash-4.2-patched/subst.c	2011-03-06 14:11:11.000000000 -0500
--- ./subst.c	2011-05-11 11:23:33.000000000 -0400
***************
*** 3707,3711 ****
  	}
        else if (string[i] == CTLNUL)
! 	i++;
  
        prev_i = i;
--- 3710,3717 ----
  	}
        else if (string[i] == CTLNUL)
! 	{
! 	  i++;
! 	  continue;
! 	}
  
        prev_i = i;
*** ../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 12
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 13
  
  #endif /* _PATCHLEVEL_H_ */