]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - src/patches/bash/bash32-037
Merge branch 'kernel-update' of ssh://git.ipfire.org/pub/git/ipfire-2.x into kernel...
[people/teissler/ipfire-2.x.git] / src / patches / bash / bash32-037
CommitLineData
24acfa14
MT
1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 3.2
5Patch-ID: bash32-037
6
7Bug-Reported-by: jared r r spiegel <jrrs@iorek.ice-nine.org>
8Bug-Reference-ID: <200801152201.m0FM1lDp021260@iorek.ice-nine.org>
9Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-01/msg00049.html
10
11Bug-Description:
12
13Bash inappropriately evaluates command substitutions while expanding
14directory names as part of command substitution.
15
16Patch:
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_ */