Roman Rakus 3a5a59
			     BASH PATCH REPORT
Roman Rakus 3a5a59
			     =================
Roman Rakus 3a5a59
Roman Rakus 3a5a59
Bash-Release:	4.2
Roman Rakus 3a5a59
Patch-ID:	bash42-013
Roman Rakus 3a5a59
Roman Rakus 3a5a59
Bug-Reported-by:	Marten Wikstrom <marten.wikstrom@keystream.se>
Roman Rakus 3a5a59
Bug-Reference-ID:	<BANLkTikKECAh94ZEX68iQvxYuPeEM_xoSQ@mail.gmail.com>
Roman Rakus 3a5a59
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html
Roman Rakus 3a5a59
Roman Rakus 3a5a59
Bug-Description:
Roman Rakus 3a5a59
Roman Rakus 3a5a59
An off-by-one error caused the shell to skip over CTLNUL characters,
Roman Rakus 3a5a59
which are used internally to mark quoted null strings.  The effect
Roman Rakus 3a5a59
was to have stray 0x7f characters left after expanding words like
Roman Rakus 3a5a59
""""""""aa.
Roman Rakus 3a5a59
Roman Rakus 3a5a59
Patch (apply with `patch -p0'):
Roman Rakus 3a5a59
Roman Rakus 3a5a59
*** ../bash-4.2-patched/subst.c	2011-03-06 14:11:11.000000000 -0500
Roman Rakus 3a5a59
--- subst.c	2011-05-11 11:23:33.000000000 -0400
Roman Rakus 3a5a59
***************
Roman Rakus 3a5a59
*** 3707,3711 ****
Roman Rakus 3a5a59
  	}
Roman Rakus 3a5a59
        else if (string[i] == CTLNUL)
Roman Rakus 3a5a59
! 	i++;
Roman Rakus 3a5a59
  
Roman Rakus 3a5a59
        prev_i = i;
Roman Rakus 3a5a59
--- 3710,3717 ----
Roman Rakus 3a5a59
  	}
Roman Rakus 3a5a59
        else if (string[i] == CTLNUL)
Roman Rakus 3a5a59
! 	{
Roman Rakus 3a5a59
! 	  i++;
Roman Rakus 3a5a59
! 	  continue;
Roman Rakus 3a5a59
! 	}
Roman Rakus 3a5a59
  
Roman Rakus 3a5a59
        prev_i = i;
Roman Rakus 3a5a59
*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
Roman Rakus 3a5a59
--- patchlevel.h	Thu Feb 24 21:41:34 2011
Roman Rakus 3a5a59
***************
Roman Rakus 3a5a59
*** 26,30 ****
Roman Rakus 3a5a59
     looks for to find the patch level (for the sccs version string). */
Roman Rakus 3a5a59
  
Roman Rakus 3a5a59
! #define PATCHLEVEL 12
Roman Rakus 3a5a59
  
Roman Rakus 3a5a59
  #endif /* _PATCHLEVEL_H_ */
Roman Rakus 3a5a59
--- 26,30 ----
Roman Rakus 3a5a59
     looks for to find the patch level (for the sccs version string). */
Roman Rakus 3a5a59
  
Roman Rakus 3a5a59
! #define PATCHLEVEL 13
Roman Rakus 3a5a59
  
Roman Rakus 3a5a59
  #endif /* _PATCHLEVEL_H_ */