]>
Commit | Line | Data |
---|---|---|
2eae9c88 AM |
1 | BASH PATCH REPORT |
2 | ================= | |
3 | ||
4 | Bash-Release: 3.2 | |
5 | Patch-ID: bash32-037 | |
6 | ||
7 | Bug-Reported-by: jared r r spiegel <jrrs@iorek.ice-nine.org> | |
8 | Bug-Reference-ID: <200801152201.m0FM1lDp021260@iorek.ice-nine.org> | |
9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-01/msg00049.html | |
10 | ||
11 | Bug-Description: | |
12 | ||
13 | Bash inappropriately evaluates command substitutions while expanding | |
14 | directory names as part of command substitution. | |
15 | ||
16 | Patch: | |
17 | ||
18 | *** ../bash-3.2-patched/subst.c 2007-12-13 22:31:21.000000000 -0500 | |
19 | --- subst.c 2008-01-17 22:48:15.000000000 -0500 | |
20 | *************** | |
21 | *** 2815,2821 **** | |
22 | to jump_to_top_level here so we don't endlessly loop. */ | |
23 | WORD_LIST * | |
24 | ! expand_prompt_string (string, quoted) | |
25 | char *string; | |
26 | int quoted; | |
27 | { | |
28 | WORD_LIST *value; | |
29 | --- 2895,2902 ---- | |
30 | to jump_to_top_level here so we don't endlessly loop. */ | |
31 | WORD_LIST * | |
32 | ! expand_prompt_string (string, quoted, wflags) | |
33 | char *string; | |
34 | int quoted; | |
35 | + int wflags; | |
36 | { | |
37 | WORD_LIST *value; | |
38 | *************** | |
39 | *** 2825,2829 **** | |
40 | return ((WORD_LIST *)NULL); | |
41 | ||
42 | ! td.flags = 0; | |
43 | td.word = savestring (string); | |
44 | ||
45 | --- 2906,2910 ---- | |
46 | return ((WORD_LIST *)NULL); | |
47 | ||
48 | ! td.flags = wflags; | |
49 | td.word = savestring (string); | |
50 | ||
51 | *** ../bash-3.2-patched/subst.h 2007-03-24 14:51:05.000000000 -0400 | |
52 | --- subst.h 2008-01-17 22:46:08.000000000 -0500 | |
53 | *************** | |
54 | *** 136,140 **** | |
55 | ||
56 | /* Expand a prompt string. */ | |
57 | ! extern WORD_LIST *expand_prompt_string __P((char *, int)); | |
58 | ||
59 | /* Expand STRING just as if you were expanding a word. This also returns | |
60 | --- 137,141 ---- | |
61 | ||
62 | /* Expand a prompt string. */ | |
63 | ! extern WORD_LIST *expand_prompt_string __P((char *, int, int)); | |
64 | ||
65 | /* Expand STRING just as if you were expanding a word. This also returns | |
66 | *** ../bash-3.2-patched/parse.y 2007-08-25 13:47:06.000000000 -0400 | |
67 | --- parse.y 2008-01-17 22:46:30.000000000 -0500 | |
68 | *************** | |
69 | *** 4367,4371 **** | |
70 | { | |
71 | last_exit_value = last_command_exit_value; | |
72 | ! list = expand_prompt_string (result, Q_DOUBLE_QUOTES); | |
73 | free (result); | |
74 | result = string_list (list); | |
75 | --- 4367,4371 ---- | |
76 | { | |
77 | last_exit_value = last_command_exit_value; | |
78 | ! list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0); | |
79 | free (result); | |
80 | result = string_list (list); | |
81 | *** ../bash-3.2-patched/bashline.c 2006-07-29 16:39:30.000000000 -0400 | |
82 | --- bashline.c 2008-02-17 12:53:42.000000000 -0500 | |
83 | *************** | |
84 | *** 2358,2362 **** | |
85 | { | |
86 | new_dirname = savestring (local_dirname); | |
87 | ! wl = expand_prompt_string (new_dirname, 0); /* does the right thing */ | |
88 | if (wl) | |
89 | { | |
90 | --- 2376,2380 ---- | |
91 | { | |
92 | new_dirname = savestring (local_dirname); | |
93 | ! wl = expand_prompt_string (new_dirname, 0, W_NOCOMSUB); /* does the right thing */ | |
94 | if (wl) | |
95 | { | |
96 | *** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 | |
97 | --- patchlevel.h Mon Oct 16 14:22:54 2006 | |
98 | *************** | |
99 | *** 26,30 **** | |
100 | looks for to find the patch level (for the sccs version string). */ | |
101 | ||
102 | ! #define PATCHLEVEL 36 | |
103 | ||
104 | #endif /* _PATCHLEVEL_H_ */ | |
105 | --- 26,30 ---- | |
106 | looks for to find the patch level (for the sccs version string). */ | |
107 | ||
108 | ! #define PATCHLEVEL 37 | |
109 | ||
110 | #endif /* _PATCHLEVEL_H_ */ |