54 lines
1.7 KiB
Diff
54 lines
1.7 KiB
Diff
|
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_ */
|