55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
|
BASH PATCH REPORT
|
||
|
=================
|
||
|
|
||
|
Bash-Release: 3.1
|
||
|
Patch-ID: bash31-005
|
||
|
|
||
|
Bug-Reported-by:
|
||
|
Bug-Reference-ID:
|
||
|
Bug-Reference-URL:
|
||
|
|
||
|
Bug-Description:
|
||
|
|
||
|
When tilde expansion fails, POSIX leaves it unspecified whether or not the
|
||
|
word undergoes the additional word expansions. Bash-3.1 as distributed
|
||
|
skipped the rest of the expansions; this patch restores the bash-3.0 behavior.
|
||
|
|
||
|
This means that something like
|
||
|
USER=ratbert
|
||
|
echo ~$USER
|
||
|
|
||
|
will echo `~ratbert' rather than `~$USER'.
|
||
|
|
||
|
Patch:
|
||
|
|
||
|
*** bash-3.1/subst.c Mon Oct 24 09:51:13 2005
|
||
|
--- bash-3.1/subst.c Fri Dec 30 12:11:53 2005
|
||
|
***************
|
||
|
*** 6796,6799 ****
|
||
|
--- 6823,6832 ----
|
||
|
{
|
||
|
temp1 = bash_tilde_expand (temp, tflag);
|
||
|
+ if (temp1 && *temp1 == '~' && STREQ (temp, temp1))
|
||
|
+ {
|
||
|
+ FREE (temp);
|
||
|
+ FREE (temp1);
|
||
|
+ goto add_character; /* tilde expansion failed */
|
||
|
+ }
|
||
|
free (temp);
|
||
|
temp = temp1;
|
||
|
*** bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
|
||
|
--- bash-3.1/patchlevel.h Wed Dec 7 13:48:42 2005
|
||
|
***************
|
||
|
*** 26,30 ****
|
||
|
looks for to find the patch level (for the sccs version string). */
|
||
|
|
||
|
! #define PATCHLEVEL 4
|
||
|
|
||
|
#endif /* _PATCHLEVEL_H_ */
|
||
|
--- 26,30 ----
|
||
|
looks for to find the patch level (for the sccs version string). */
|
||
|
|
||
|
! #define PATCHLEVEL 5
|
||
|
|
||
|
#endif /* _PATCHLEVEL_H_ */
|