Tomas Janousek 5a0cfd
			     BASH PATCH REPORT
Tomas Janousek 5a0cfd
			     =================
Tomas Janousek 5a0cfd
Tomas Janousek 5a0cfd
Bash-Release: 3.2
Tomas Janousek 5a0cfd
Patch-ID: bash32-021
Tomas Janousek 5a0cfd
Tomas Janousek 5a0cfd
Bug-Reported-by:	BAGSHAW Paul RD-TECH-REN <paul.bagshaw@orange-ftgroup.com>
Tomas Janousek 5a0cfd
Bug-Reference-ID:	<941BA0BF46DB8F4983FF7C8AFE800BC205EA7D4B@ftrdmel3.rd.francetelecom.fr>
Tomas Janousek 5a0cfd
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00065.html
Tomas Janousek 5a0cfd
Tomas Janousek 5a0cfd
Bug-Description:
Tomas Janousek 5a0cfd
Tomas Janousek 5a0cfd
When the parser read a backslash-escaped character that would be treated
Tomas Janousek 5a0cfd
internally as an escape, it would double the number of escape characters.
Tomas Janousek 5a0cfd
Tomas Janousek 5a0cfd
Patch:
Tomas Janousek 5a0cfd
Tomas Janousek 5a0cfd
*** ../bash-3.2-patched/parse.y	Mon Oct 30 17:22:00 2006
Tomas Janousek 5a0cfd
--- parse.y	Sat Mar 24 17:13:20 2007
Tomas Janousek 5a0cfd
***************
Tomas Janousek 5a0cfd
*** 3377,3381 ****
Tomas Janousek 5a0cfd
  	{
Tomas Janousek 5a0cfd
  	  pass_next_character = 0;
Tomas Janousek 5a0cfd
! 	  goto got_character;
Tomas Janousek 5a0cfd
  	}
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
--- 3377,3381 ----
Tomas Janousek 5a0cfd
  	{
Tomas Janousek 5a0cfd
  	  pass_next_character = 0;
Tomas Janousek 5a0cfd
! 	  goto got_escaped_character;
Tomas Janousek 5a0cfd
  	}
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
***************
Tomas Janousek 5a0cfd
*** 3651,3660 ****
Tomas Janousek 5a0cfd
      got_character:
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
-       all_digit_token &= DIGIT (character);
Tomas Janousek 5a0cfd
-       dollar_present |= character == '$';
Tomas Janousek 5a0cfd
- 
Tomas Janousek 5a0cfd
        if (character == CTLESC || character == CTLNUL)
Tomas Janousek 5a0cfd
  	token[token_index++] = CTLESC;
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
        token[token_index++] = character;
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
--- 3651,3662 ----
Tomas Janousek 5a0cfd
      got_character:
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
        if (character == CTLESC || character == CTLNUL)
Tomas Janousek 5a0cfd
  	token[token_index++] = CTLESC;
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
+     got_escaped_character:
Tomas Janousek 5a0cfd
+ 
Tomas Janousek 5a0cfd
+       all_digit_token &= DIGIT (character);
Tomas Janousek 5a0cfd
+       dollar_present |= character == '$';
Tomas Janousek 5a0cfd
+ 
Tomas Janousek 5a0cfd
        token[token_index++] = character;
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006
Tomas Janousek 5a0cfd
--- patchlevel.h	Mon Oct 16 14:22:54 2006
Tomas Janousek 5a0cfd
***************
Tomas Janousek 5a0cfd
*** 26,30 ****
Tomas Janousek 5a0cfd
     looks for to find the patch level (for the sccs version string). */
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
! #define PATCHLEVEL 20
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
  #endif /* _PATCHLEVEL_H_ */
Tomas Janousek 5a0cfd
--- 26,30 ----
Tomas Janousek 5a0cfd
     looks for to find the patch level (for the sccs version string). */
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
! #define PATCHLEVEL 21
Tomas Janousek 5a0cfd
  
Tomas Janousek 5a0cfd
  #endif /* _PATCHLEVEL_H_ */