54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 			     BASH PATCH REPORT
 | |
| 			     =================
 | |
| 
 | |
| Bash-Release:	4.2
 | |
| Patch-ID:	bash42-004
 | |
| 
 | |
| Bug-Reported-by:	Mike Frysinger <vapier@gentoo.org>
 | |
| Bug-Reference-ID:	<201102182106.17834.vapier@gentoo.org>
 | |
| Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html
 | |
| 
 | |
| Bug-Description:
 | |
| 
 | |
| When used in contexts where word splitting and quote removal were not
 | |
| performed, such as pattern removal or pattern substitution, empty strings
 | |
| (either literal or resulting from quoted variables that were unset or
 | |
| null) were not matched correctly, resulting in failure.
 | |
| 
 | |
| Patch (apply with `patch -p0'):
 | |
| 
 | |
| *** ../bash-4.2-patched/subst.c	2011-01-02 16:12:51.000000000 -0500
 | |
| --- subst.c	2011-02-18 22:30:13.000000000 -0500
 | |
| ***************
 | |
| *** 3373,3379 ****
 | |
|     if (string == 0 || *string == '\0')
 | |
|       return (WORD_LIST *)NULL;
 | |
|   
 | |
| !   td.flags = 0;
 | |
|     td.word = string;
 | |
|     tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
 | |
|     return (tresult);
 | |
| --- 3373,3379 ----
 | |
|     if (string == 0 || *string == '\0')
 | |
|       return (WORD_LIST *)NULL;
 | |
|   
 | |
| !   td.flags = W_NOSPLIT2;		/* no splitting, remove "" and '' */
 | |
|     td.word = string;
 | |
|     tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
 | |
|     return (tresult);
 | |
| *** ../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 3
 | |
|   
 | |
|   #endif /* _PATCHLEVEL_H_ */
 | |
| --- 26,30 ----
 | |
|      looks for to find the patch level (for the sccs version string). */
 | |
|   
 | |
| ! #define PATCHLEVEL 4
 | |
|   
 | |
|   #endif /* _PATCHLEVEL_H_ */
 |